windows下运行haoop实例问题小总结

win正常连接linux上的hadoop集群后,如果要运行wordcount会遇到以下问题:

1.在eclipse里在hdfs上创建目录 和上传文件都会报错,无权限问题。

windows下运行haoop实例问题小总结

在安装hadoop机器上执行命令:

cd /hadoop/hadoop-2.7.7/bin/

hadoop fs -chmod -R 777 /

再上传文件,删除文件夹,均正常。

2.新建map-reduce工程

windows下运行haoop实例问题小总结

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

windows下运行haoop实例问题小总结

输入以下内容:

hdfs://192.168.1.104:9000/input hdfs://192.168.1.104:9000/output

然后点击 RUN,运行,会报以下错误 。

windows下运行haoop实例问题小总结

解决办法:

在工程的src目录下新建文件: log4j.properties

内容如下:

log4j.rootLogger=info,appender

log4j.appender.appender=org.apache.log4j.ConsoleAppender

log4j.appender.appender.layout=org.apache.log4j.TTCCLayout

然后重新运行Wordcount。

会有新的错误:

windows下运行haoop实例问题小总结

解决办法:

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的控制台再没有任何错误。

windows下运行haoop实例问题小总结

刷新hadoop的hdfs目录,就可以看到有新的文件夹和文件生成。

windows下运行haoop实例问题小总结

打开part-t-0000文件,就可以看到正确结果。


分享到:


相關文章: