跳转到内容

Apache Hadoop常用端口

来自代码酷


Hadoop常用端口是Hadoop分布式系统各组件间通信的关键配置项,掌握这些端口有助于系统管理、故障排查和安全配置。本文详细介绍Hadoop核心组件(HDFS、YARN、MapReduce等)的默认端口及其作用。

概述[编辑 | 编辑源代码]

Hadoop集群由多个守护进程(Daemon)组成,每个进程通过特定端口提供网络服务。端口分为两类:

  • 默认端口:Hadoop预定义的端口号(可修改)
  • 临时端口:由操作系统动态分配的短暂通信端口

HDFS端口[编辑 | 编辑源代码]

HDFS(Hadoop Distributed File System)的核心端口如下:

HDFS默认端口列表
组件 端口号 协议 用途
NameNode HTTP UI 9870 HTTP Web界面查看文件系统状态
NameNode IPC 8020 RPC 客户端与NameNode通信
DataNode 9864 HTTP DataNode数据传输和状态检查
Secondary NameNode HTTP 9868 HTTP 辅助NameNode的Web界面

示例:验证NameNode端口[编辑 | 编辑源代码]

通过curl检查NameNode HTTP服务是否运行:

curl -v http://namenode-host:9870

输出示例:

HTTP/1.1 200 OK
Content-Type: text/html
...
<title>Hadoop NameNode</title>

YARN端口[编辑 | 编辑源代码]

YARN(Yet Another Resource Negotiator)的主要端口:

pie title YARN端口分布 "ResourceManager Web UI" : 8088 "NodeManager Web UI" : 8042 "ResourceManager Scheduler" : 8030 "ResourceManager IPC" : 8050

MapReduce端口[编辑 | 编辑源代码]

  • JobHistory Server:19888(Web UI)
  • Shuffle服务:13562(需在mapred-site.xml中配置)

端口配置修改[编辑 | 编辑源代码]

通过修改配置文件自定义端口(以HDFS为例):

<!-- hdfs-site.xml -->
<property>
  <name>dfs.namenode.http-address</name>
  <value>0.0.0.0:9870</value>
</property>

数学公式表示端口范围约束: ValidPort={p1024p65535}

安全注意事项[编辑 | 编辑源代码]

1. 生产环境应限制端口访问(通过防火墙规则) 2. 避免使用知名端口(如80、443) 3. Kerberos认证需额外配置dfs.datanode.address.secure等端口

故障排查案例[编辑 | 编辑源代码]

场景:DataNode无法连接NameNode 排查步骤: 1. 检查NameNode IPC端口(默认8020)是否监听:

netstat -tulnp | grep 8020

2. 验证网络连通性:

telnet namenode-host 8020

完整端口对照表[编辑 | 编辑源代码]

Hadoop 3.x 完整端口参考
服务类型 配置项 默认端口
HDFS dfs.namenode.http-address 9870
YARN yarn.resourcemanager.webapp.address 8088
MapReduce mapreduce.jobhistory.webapp.address 19888

参见[编辑 | 编辑源代码]