实验环境:
Windows 10
Eclipse Mars.2 Release (4.5.2)
CentOS 7
Hadoop-2.7.3
先决条件:
1) Windows上各环境变量已配置OK. 如: PATH, HADOOP_HOME;
2) 与Hadoop版本及Windows平台(x86或x64)对应的 hadoop.dll, winutils.exe工具已配置OK.
1.新建Java项目,如图:
2.导入外部JAR包,即HDFS jar包:
3.Java代码:
package hdfsutil; import java.net.URI; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; public class HdfsUtil {
public static void main(String[] args) throws Exception { //构造一个配置参数的封装对象
Configuration conf = new Configuration();
//conf中会有一个参数: fs.defaultFS的默认值是file:/// 指本地文件系统URI
// conf.set("fs.defaultFS", "hdfs://192.168.80.128:9000"); //构造一个HDFS的客户端
// FileSystem fs = FileSystem.get(conf); FileSystem fs = FileSystem.get(new URI("hdfs://192.168.80.128:9000"), conf, "hadoop"); //用hdfs的文件系统的客户端对象fs来操作文件,比如上传一个文件
fs.copyFromLocalFile(new Path("C:/file.txt"), new Path("/user/hadoop/input/file.txt.4")); //上传完毕后,关闭客户端
fs.close();
}
}