hadoop集群中namenode和datanode之间的通信端口是什么

bksxznpy  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(733)

我想知道具体的通讯协议 port number 在hadoop中由namenode和datanode使用。
如果我在namenode中编写以下命令,

hdfs dfsadmin -report

它将显示活动节点(namenode和datanode)的详细信息,有多少datanode等。我的问题是namenode和datanode如何通信?通过 which port ? 使用上述命令,我实际上只得到1个datanode,而在我的集群中,有8个datanode。所以,我不确定是否有 port blocking of networking 是这个引起的!!我的防火墙在namenode和所有datanodes中被禁用。我已经查过了 sudo ufw status 返回的命令 inactive .
从hadoop官方页面(链接),我发现:
通信协议
所有hdfs通信协议都是在tcp/ip协议之上分层的。客户机建立到namenode机器上可配置tcp端口的连接。它与namenode讨论clientprotocol。datanode使用datanode协议与namenode通信。远程过程调用(rpc)抽象同时 Package 了客户机协议和数据节点协议。根据设计,namenode从不启动任何rpc。相反,它只响应datanodes或客户端发出的rpc请求。
我正在使用 hadoop 3.1.1Ubuntu 16.04 非常感谢您的帮助。谢谢。

avkwfej4

avkwfej41#

这些都是在中配置的 hdfs-site.xml .
例如,默认情况下, dfs.datanode.address=0.0.0.0:9866 如果你搜索 port 或者 address ,然后你就可以找到你想要的东西了https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
如果该命令或namenodeui没有显示datanodes,那么ssh到各个节点,检查 jps 查看进程是否正在运行,并记录文件以查找进程是否未运行。

相关问题