问题:我在阿里云上运行namenode和腾讯云上运行datanode。在hadooop配置完之后,运行hdfs 发现没有namenode。然后查看namenode的日志,日志显示50070端口被占用,9000端口拒绝服务。但是通过natstat -nplt
并没有看到50070,9000有被占用的情况。
解决:阿里云服务器有公网ip,和私网ip,两个节点之间的通信通过公网ip进行,但是开启namenode,50070,9000要用内网ip
在core-site.xml的配里应如下设定:
<property>
<name>fs.defaultFS</name>
<value>hdfs://内网ip:9000</value>
</property>
同理 hdfs-site.xml的配置中对于50070端口也要用内网IP。
参考:https://blog.csdn.net/f12105212/article/details/78465800?locationNum=9&fps=1