使用' netstat' Linux命令验证我的Hadoop Namenode机器是否正常运行,我注意到Namenode的主端口,' 8020'虽然所有Hadoop进程都可以正常连接并正常工作,但并未显示为主动监听。而且,我能够运行telnet mydnshostname 8020'并成功打开一个连接,指示此套接字正在正确收听,尽管它与netstat列表中的显着缺席。
这是我第一次注意到netstat列表中没有出现打开的套接字。是因为Hadoop Namenode通信基于专有IPC protocol吗?这个协议似乎是基于TCP的,所以我不明白它为什么没有出现。
总结:
答案 0 :(得分:2)
这是另一个* facepalm *时刻。
事实证明,TCP端口8020也是一个名为“intu-ec-svcdisc”的协议常用的端口,因此netstat试图通过将端口8020上的所有套接字识别为此服务名称来提供帮助。
在更通用/实用的术语中,如果您在查找特定的开放套接字并且知道端口号时遇到问题,请确保将netstat传递给'-n'选项,以便它根据端口号停止尝试识别协议并以数字方式显示整个列表!