【问题标题】:hadoop 1.x ports list - 4 more unknown portshadoop 1.x 端口列表 - 还有 4 个未知端口
【发布时间】:2015-11-24 14:01:34
【问题描述】:

我配置并安装了 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.shstart-all.sh),其他端口与第一次相同,只是这些端口发生了变化

48945 - tasktracker (This is fine, as explained before)

其他端口呢?这些端口是做什么用的?

44117 - ???
59446 - ???
52965 - ???
56583 - ???

【问题讨论】:

    标签: hadoop networking mapreduce hdfs


    【解决方案1】:

    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

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      感谢您发布这个有趣的问题,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"
      

      希望这会有所帮助。

      【讨论】:

      • 我来自钦奈。由于灾难性的降雨,这里几天无法上网。尽管社区已将赏金标记给了其他人,但您回答的是这个问题真正需要的内容(特定于 hadoop,与 netstat 无关)。将检查我是否可以得到您的答案:) 感谢您的详细解释。现在,我明白了。
      【解决方案3】:
      netstat -nltp
      

      这显示所有活动的 TCP、UDP、RAW 或 Unix 套接字连接。 Hadoop HDFS、Hbase、Zookeeper 创建大量套接字 中间并用于读/写或消息传递。

      在 org.apache.hadoop.hdfs.DFSClient 中创建的 RPC Reader 线程数 和读/写数据 从连接。 hadoop.rpc.socket.factory.class.ClientProtocol 将提供有关如何创建套接字/工厂的详细信息。

      【讨论】:

        猜你喜欢
        • 2013-11-27
        • 2019-02-09
        • 2018-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-12
        • 1970-01-01
        • 2023-03-29
        相关资源
        最近更新 更多