win正常连接linux上的hadoop集群后,如果要运行wordcount会遇到以下问题:
1.在eclipse里在hdfs上创建目录 和上传文件都会报错,无权限问题。
在安装hadoop机器上执行命令:
cd /hadoop/hadoop-2.7.7/bin/
hadoop fs -chmod -R 777 /
再上传文件,删除文件夹,均正常。
2.新建map-reduce工程
1》将,hadoop源码包中的 hadoop-2.7.7-src\hadoop-2.7.7-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples\WordCount.java 文件复制到新建的工程中。修改包的路径跟自己工程的路径一致。
(hadoop源码下载地址 http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7-src.tar.gz)
2》点击右键,Run as ->Run Configurations,点击 Arguments
输入以下内容:
hdfs://192.168.1.104:9000/input hdfs://192.168.1.104:9000/output
然后点击 RUN,运行,会报以下错误 。
解决办法:
在工程的src目录下新建文件: log4j.properties
内容如下:
log4j.rootLogger=info,appender
log4j.appender.appender=org.apache.log4j.ConsoleAppender
log4j.appender.appender.layout=org.apache.log4j.TTCCLayout
然后重新运行Wordcount。
会有新的错误:
解决办法:
1.下载64位的 winutils.exe,放到windows下的hadoop目录下的bin目录。
2.下载hadoop.dll,放到 C:\Windows\System32
相关文件下载地址
3.在WordCount方法的main函数里添加如下代码:
System.setProperty("hadoop.home.dir", "D:\\java\\hadoop-2.7.7");
然后重新运行。
至此eclipse的控制台再没有任何错误。
刷新hadoop的hdfs目录,就可以看到有新的文件夹和文件生成。
打开part-t-0000文件,就可以看到正确结果。
閱讀更多 程序從入門到放棄 的文章