Apache Hadoop常用端口
外观
Hadoop常用端口是Hadoop分布式系统各组件间通信的关键配置项,掌握这些端口有助于系统管理、故障排查和安全配置。本文详细介绍Hadoop核心组件(HDFS、YARN、MapReduce等)的默认端口及其作用。
概述[编辑 | 编辑源代码]
Hadoop集群由多个守护进程(Daemon)组成,每个进程通过特定端口提供网络服务。端口分为两类:
- 默认端口:Hadoop预定义的端口号(可修改)
- 临时端口:由操作系统动态分配的短暂通信端口
HDFS端口[编辑 | 编辑源代码]
HDFS(Hadoop Distributed File System)的核心端口如下:
组件 | 端口号 | 协议 | 用途 |
---|---|---|---|
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)的主要端口:
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>
数学公式表示端口范围约束:
安全注意事项[编辑 | 编辑源代码]
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
完整端口对照表[编辑 | 编辑源代码]
服务类型 | 配置项 | 默认端口 |
---|---|---|
HDFS | dfs.namenode.http-address | 9870 |
YARN | yarn.resourcemanager.webapp.address | 8088 |
MapReduce | mapreduce.jobhistory.webapp.address | 19888 |