【发布时间】:2013-07-09 19:33:21
【问题描述】:
当使用“netstat”Linux 命令验证我的 Hadoop Namenode 机器是否正常运行时,我注意到 Namenode 的主端口“8020”没有显示为主动侦听,尽管所有 Hadoop 进程都可以正确连接并正常工作.此外,我能够运行 'telnet mydnshostname 8020' 并成功打开一个连接,这表明该套接字正在正确侦听,尽管它明显不在 netstat 的列表中。
这是我第一次注意到打开的套接字没有出现在 netstat 的列表中。是因为 Hadoop Namenode 通信是基于专有的IPC protocol 吗?这个协议似乎是基于 TCP 的,所以我不明白为什么它没有显示出来。
总结:
- 为什么/如何存在 netstat 遗漏的开放式套接字?
- 是否有任何低级 Linux 命令/函数来显示所有套接字,包括 netstat 由于某种原因而遗漏的那些?
【问题讨论】:
-
netstat 未报告在 8020 上侦听的任何内容的一个可能原因可能是端口转发。也许 Namenode 侦听其他端口,而您的机器或路由器配置为将连接到 8020 的连接转发到其他端口?
标签: sockets hadoop tcp netstat