Hadoop1.x端口列表-还有4个未知端口

kcugc4gi  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(566)

我配置并安装了hadoop1.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 - ???
axkjgtzd

axkjgtzd1#

谢谢你提出这个有趣的问题,维韦克。
这让我很感兴趣,我为ApacheHadoop1.2.1的主程序和从程序的启动部分挖掘了一些代码;但是除了标准的文档化绑定之外,没有其他的端口绑定。
我做了两个实验,研究如何启动namenode,并使用 netstat -nltpa 1) hadoop--配置../conf namenode-常规
2) 直接调用namenode主类
3) 添加default 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"

希望这有帮助。

mzsu5hc0

mzsu5hc02#

netstat -nltp

这将显示所有活动的tcp、udp、raw或unix套接字连接。hadoophdfs、hbase、zookeeper在中间创建了许多套接字,并用于读/写或消息传递。
在org.apache.hadoop.hdfs.dfsclient中创建的rpc读取器线程数,用于从连接读取/写入数据。hadoop.rpc.socket.factory.class.clientprotocol将提供有关如何创建套接字/工厂的详细信息。

cgyqldqp

cgyqldqp3#

linux 系统中,已知服务通常列在 /etc/services 文件。这就是网络实用程序(例如。 netstat )get是端口号的友好名称(即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
希望这有帮助。

相关问题