hadoop集群报错:There are 0 datanode(s) running and no node(s) are excluded in this operation

背景

hadoop搭建完成,namenode format完成,start-all.sh成功。namenode与datanode均启动成功。

./hdfs dfs -mkdir -p /data/hdfs/input完成

但是,

奇怪的事情发生了:

./hdfs dfs -put test.txt /data/hdfs/input失败;


排查思路

实在是不懂hadoop,继续老套路,网上查资料,发现了以下几种可能:

1.多次format namenode,导致namenode的namespaceID和datanode的dataspaceID不一致;

        查看发现了一个更神奇的现象:

        master的/hdfs/name文件夹有current文件夹;node的/hdfs/data文件中什么都没有; datanode明明已经启动了T_T。

        于是./stop-all.sh 再删除/hdfs/name/中所有内容,重新格式化,启动。发现没任何改变。排除该可能。


2.防火墙未关闭

        想了一下,master的防火墙还未做任何处理,应该是有端口没开放,查看进程占用了哪些端口,全部开放

        将以上端口全部加入防火墙规则,重启,node的/hdfs/data文件夹出现了current文件夹;(主要是9000端口,ResourceManage的端口还不清楚干嘛用的,后面熟悉以后再补充)

        但是./hdfs dfs -put test.txt /data/hdfs/input还是失败,最后发现还是防火墙问题,node的防火墙有端口未开放;

        将node的50010端口开放。

        终于成功了,阿西吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容