Hadoop运行WordCount示例出现的一些问题及解决办法
程序员文章站
2022-05-25 14:54:15
...
博客标题起的真别扭。。
先说两点:
1.用cygwin伪分布式环境运行的。
2.hadoop开发者第一期里有个DFSOperator的示例,那个更简单,怎么打jar包,怎么运行之类的问题可以先参见一个那篇文章。
运行WordCount示例遇到了两个问题:
a. ***/work/tmp does not exist的问题
解决办法:配置conf/mapred-site.xml文件中mapred.child.tmp属性的值,如下:
<property>
<name>mapred.child.tmp</name>
<value>/hadoop/childtmp</value>
</property>
原因貌似是运行hadoop需要临时目录存储中间数据。
b. map100%,reduce0%的问题
解决办法:在/etc/hosts下加上本机器的名字和ip即可。
下边说一下运行过程:
1.准备一些测试数据,例如input1.txt和input2.txt
2.新建输入目录,将测试数据put进去。
3.运行./hadoop jar wordcount.jar WordCount input output,这里会自动新建output目录,如果之前已存在,会报FileAlreadyExistsException,这时需要./hadoop fs -rmr output删掉它(觉得这里有点奇怪,求解答)。
4.查看运行结果。
下一篇开始转战ubuntu,不在纠结windows了。
先说两点:
1.用cygwin伪分布式环境运行的。
2.hadoop开发者第一期里有个DFSOperator的示例,那个更简单,怎么打jar包,怎么运行之类的问题可以先参见一个那篇文章。
运行WordCount示例遇到了两个问题:
a. ***/work/tmp does not exist的问题
解决办法:配置conf/mapred-site.xml文件中mapred.child.tmp属性的值,如下:
<property>
<name>mapred.child.tmp</name>
<value>/hadoop/childtmp</value>
</property>
原因貌似是运行hadoop需要临时目录存储中间数据。
b. map100%,reduce0%的问题
解决办法:在/etc/hosts下加上本机器的名字和ip即可。
下边说一下运行过程:
1.准备一些测试数据,例如input1.txt和input2.txt
2.新建输入目录,将测试数据put进去。
3.运行./hadoop jar wordcount.jar WordCount input output,这里会自动新建output目录,如果之前已存在,会报FileAlreadyExistsException,这时需要./hadoop fs -rmr output删掉它(觉得这里有点奇怪,求解答)。
4.查看运行结果。
下一篇开始转战ubuntu,不在纠结windows了。