复习:用Eclipse上传文件到hdfs集群的常见问题

用Eclipse上传文件到hdfs集群的常见问题

一、准备

工具:windows平台的hadoop(我的是hadoop-2.6.4包,这个包我不知道怎么上传上来,2333....),eclipse;

第一步:首先把压缩包解压;

第二步:配置环境变量

添加一个HADOOP_HOME=E:\hadoop 2.6.4(填你自己的路径);

把%HADOOP_HOME%\bin添加到Path中

 

二、程序

代码我就不解释了,我的代码也不是很完整,主要需要注意几个问题。

Configuration conf=new Configuration();
conf.set("fs.defaultFS", "hdfs://主节点ip或主机名:9000");

【注意】:主节点ip如果写的是正确的,但程序报connection refused错误,那么可以去看看

集群中core-site.xml中fs.defaultFS的配置,看看是否当初ip写成了127.0.0.1或者localhost,如果是,可以将其改成主机名,当然要注意你hosts文件中有没有把你的ip映射到主机名,如果没有,可以直接写ip地址。不过我建议还是写主机名,因为以后如果ip变了,也不用再来改,只要把主机名和ip的映射改一下就好了,而且会更一目了然。

FileSystem fs=FileSystem.get(new URI("hdfs://主节点的主机名或ip:9000"), conf,"用户名");
fs.copyFromLocalFile(new Path("E:/abc.txt"), new Path("/abc.txt"));
fs.close();		

默认情况下,hdfs客户端会从jvm中获取一个参数作为自己的身份,所以如果你的程序中fs=FileSystem.get(conf),没有传用户名,

还有一种方法传用户名,就是用Runas Configurations的方式运行程序,在Arguments的VMArguments中写 :-DHADOOP_USER_NAME=用户名。

你可能感兴趣的:(Hadoop)