共计 1691 个字符,预计需要花费 5 分钟才能阅读完成。
文件路径问题:
本地文件(linux)的路径要写为 file:/// 开头的,然后加上实际文件路径。例如:file:///home/myHadoop/test
集群中的文件路径为以 / 开头。例如:/temp/test
命令行操作,以删除为例,在 hadoop 集群中的任何一台节点上操作:
1. 删除集群中的文件
hdfs dfs -rmr /temp/test hadoop 2.2.0 写法
hadoop fs -rmr /temp/test 旧版本的写法
2. 删除本地机器节点的命令
hdfs dfs -rmr file:///home/myhadoop/test
hadoop fs -rmr /temp/test
查看 hadoop Filesystem shell 命令:http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/FileSystemShell.html
java 操作文件 org.apache.hadoop.fs.FileSystem 类
Fileystem 是一个抽象类,可以用它来实现获取本地文件系统或者集群文件系统
Configuration conf = new Configuration();
Fileystem fs = FileSystem.get(URI.create(path), conf);
其中 path 为上面所说的文件路径,若是集群文件路径,则获得集群文件系统,若是本地文件路径,则获得本地文件系统。
例子:实现 copyFromLocal 的 shell 命令
package com.alm.main;
import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class FileSystemTest {
public static void main(String args[]) throws IOException{
FileSystem fs;
Configuration conf = new Configuration();
fs = FileSystem.get(URI.create(“hdfs://192.168.1.85:9000”), conf);
fs.copyFromLocalFile(false, true, new Path(“file:////home/myhadoop2/Desktop/testcp1”), new Path(“hdfs://192.168.1.85:9000/testforcp/testcp1”));
}
}
相关阅读 :
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13