今天学习在myeclipse上写mapreduce,并运行在集群中,遇见了一些问题:
1.权限问题:
解决方法:配置执行时的虚拟机参数-DHADOOP_USER_NAME=root
2.然后运行出现了连接不到0.0.0.0:10020的情况--
解决方案:
开始根据 网上的一些方法在 mapred-site.xml 配置了 historyserver :
<property>
<name>mapreduce.jobhistory.address</name>
<!-- 配置实际的主机名和端口-->
<value>master:10020</value>
</property>
然后启动:mr-jobhistory-daemon.sh start historyserver,但是没有效果,还是 不能 connection
然后想到其他配置文件在 代码 中 Configuration 对象中配置的,就试了一下:
conf.set("mapreduce.jobhistory.address", "192.168.0.100:10020");
再执行发现执行成功:
在Windows上的myeclipse中想要运行在集群中,需要将项目打成jar包,并放到代码中多对应的地址处。