错误信息:
File /user/root/QuasiMonteCarlo_1710600975430_727348862/in/part0 could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node(s) are excluded in this operation.
集群规划:
只规划了两个Datanode,这是最近看到学校老师文档的规划,简陋教学版。
在执行测试MapReduce命令的时候出现这个错误
测试命令如下:
hadoop jar hadoop-mapreduce-examples-3.1.4.jar pi 10 10
计算一个π的值,并使用10个映射任务和10个归约任务来估算π的值。
运行出错。
经过排查日志和百度总结了一个解决问题的办法就是给NameNode所在的节点增加DataNode。
vim hdfs-site.xml
副本数从2改为3
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
然后修改vim workers 在里面添加master节点
修改完毕hdfs-site.xml和workers 一定要分发到其他节点。
然后重启集群 重新执行就出结果了
虽然还没有弄清楚其中的底层关系,命令本身并不直接与 DataNode 交互,但当该 MapReduce 作业运行时,它会利用 DataNode 来存储和检索数据,从而实现分布式计算。有知道的可以评论让小弟长长知识。