我配置并安装了hadoop 1.2.1单节点。我将namenode和jobtracker地址的端口分别配置为“ hdfs:// localhost:9000 ”和“ localhost:9001 ”。
启动群集后( start-all.sh )。之后我跑了netstat -nltp
,列出了hadoop端口。
50030 - jobtracker Web UI
50060 - tasktracker Web UI
50070 - namenode Web UI
50075 - datanode Web UI
(http://localhost:50075/browseDirectory.jsp?dir=%2F)
50090 - secondary namenode Web UI
54310 - namenode (as configured in XML)
54311 - jobtracker (as configured in XML)
50010 - datanode (for data transfer)
50020 - datanode (for block metadata operations & recovery)
33447 - tasktracker ( not configured. Any unused local port is chosen by hadoop itself)
但是,其他一些端口也被占用了,它显示它是java进程(我停止了hadoop并确认它们只属于hadoop集群)。
48212 - ???
41888 - ???
47448 - ???
52544 - ???
这些不是固定端口。它们是动态选择的。因为,当我重新启动群集( stop-all.sh 和 start-all.sh )时,其他端口与第一次相同,但这些端口已更改
48945 - tasktracker (This is fine, as explained before)
其他港口怎么样?这些端口用于什么?
44117 - ???
59446 - ???
52965 - ???
56583 - ???
答案 0 :(得分:2)
在linux
系统上,/etc/services
文件中通常列出了已知服务。这是网络实用程序(例如netstat
)获得端口号的友好名称(即80 / http)的地方。
某些软件包可能会更新/etc/services
。如果有问题的hadoop
端口具有更改的动态范围,则没有理由执行此更新。
http://www.cyberciti.biz/faq/find-out-which-service-listening-specific-port/
http://www.tldp.org/LDP/nag2/x-087-2-appl.services.html
希望这有帮助。
答案 1 :(得分:1)
感谢您发布这个有趣的问题,Vivek。
它引起了我很多兴趣,我为Apache Hadoop 1.2.1挖掘了一些代码 - 每个主服务器和从服务器的启动部分; 但是没有额外的端口绑定,除了标准的文档记录。
我做了几个关于我们如何启动名称节点并使用netstat -nltpa
观察端口的实验
1)hadoop --config ../conf namenode -regular
2)直接调用Namenode主类
3)添加默认的core-default.xml,然后启动namenode
我的观察结果是#2和#3只显示标准端口,所以我查找了java选项,那就是宾果游戏。
在hadoop-env.sh中对以下所有内容进行评论,然后启动hadoop,您将只看到标准端口,因此您看到的其他端口都是JMX bin端口
export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS"
export HADOOP_SECONDARYNAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS"
export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS"
export HADOOP_BALANCER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS"
export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"
希望这有帮助。
答案 2 :(得分:0)
main
main main finally
main
main main finallyfinallyfinally
main
main
这显示了所有活动的TCP,UDP,RAW或Unix套接字连接。 Hadoop HDFS,Hbase,Zookeeper创建了很多套接字 中间地用于读/写或消息传递。
在org.apache.hadoop.hdfs.DFSClient中创建的RPC Reader线程数 并读/写数据 从连接。 hadoop.rpc.socket.factory.class.ClientProtocol 将提供有关如何创建套接字/工厂的详细信息。