hadoop报could only be replicate...的解决办法

跑wordcount demo的时候一直报类似错误:

······job.jar could only be replicated to 0 nodes instead of minreplication(=1).there are 0 datanode(s) running and no node(s) are excluded in this operation

搜了各种解决办法都不能解决,感觉挺坑的。最终综合网上各种措施,得出以下解决办法:
1:关闭防火墙
2:检查ssh是否配置成功,master和各节点是否能够 畅通无阻。
3:删除hadoop目录下的tmp文件夹(比如我的是在/home/hadoop/下),然后重新创建tmp文件夹。
4:检查hadoop下的配置文件hdfs-site.xml和core-site.xml中的dfs.datanode.data.dir,hadoop.tmp.dir指向的是否是同一个目录(第3步中我们重新创建的tmp目录),如果不是请修改成tmp所在的目录地址。
5:修改完以上两个配置文件后,重新拷贝到其他节点上,保持配置文件的一致性。我是把整个hadoop文件夹都拷贝过去了。如:

         scp /home/hadoop node1:/home/
         scp /home/hadoop node2:/home/

修改完之后,重新启动:start-all.sh
创建两个文件f1.txt,f2.txt。随便写入点内容.
创建input文件夹,并把*.txt上传自此:
hadoop fs -mkdir /home/input
hadoop fs -put f1.txt /home/input
hadoop fs -put f2.txt /home/input
输入运行:

hadoop jar /home/hadoop/hadoop-2.7.3/share/hadoop/mapreduce-examples-2.7.3.jar wordcount /home/input /home/output

最后终于通过,没有再报错。。。。。。我勒个去。
刚接触hadoop,好多错误出现时一脸闷逼,记录一下,在坑里越走越远。

你可能感兴趣的:(hadoop报could only be replicate...的解决办法)