50020 是什么
50020 是 Hadoop 2.x 中 HDFS DataNode 的 IPC 端口,负责块操作的元数据 RPC;数据流由其配对端口 50010 承担。两个端口分工明确:数据面走 50010,控制面走 50020。Hadoop 3.x 调整了默认端口,DataNode 的数据与 IPC 端口分别改为 9866 与 9867,规划防火墙时需要按版本区分,不能直接沿用旧清单。
基本信息
| 服务名 | DataNode IPC(dfs.datanode.ipc.address) |
|---|---|
| 协议 | TCP |
| Hadoop 2 默认 | 50020 |
| Hadoop 3 默认 | 9867 |
| 配对端口 | 50010 承担数据流 |
| 暴露要求 | 仅集群内网 |
典型使用场景
- 集群防火墙规划:按版本分别放行数据面与控制面端口
- 间歇超时排障:块操作缓慢时核对控制面是否可达
- 升级核对:从 Hadoop 2 升到 3 后默认端口发生变化
- 安全审计:确认数据节点端口未暴露到集群之外
- 拓扑排查:确认节点间通信没有被策略局部拦截
- 容量观察:结合数据节点报告判断节点是否正常注册
核对数据面与控制面
核对数据面与控制面
ss -lntp | grep -E '50010|50020' # 确认本机两个端口都在监听
# 配置项: dfs.datanode.address 管数据流,dfs.datanode.ipc.address 管 IPC
hdfs dfsadmin -report # 查看数据节点注册与容量概况
telnet dn01 50020 # 授权范围内探测控制面可达性
# Hadoop 3 环境请把端口换成 9866 与 9867 再核对一次排查判定参考
| 检查项 | 方法 | 判读要点 |
|---|---|---|
| 监听状态 | ss 查看两个端口 | 只监听其一说明服务启动不完整 |
| 版本对应 | 确认 Hadoop 主版本 | 3.x 默认端口与 2.x 不同 |
| 连通性 | 节点间双向探测 | 单向可达会导致部分块操作超时 |
| 日志 | 查看 DataNode 日志 | 连接超时可直接定位到被拦端口 |
数据面与控制面分离是分布式存储的常见设计:数据面负责吞吐,控制面负责协调。排障时只验证其中一面,容易得到时通时不通的错觉,进而误判为硬件问题。
升级大版本前先把端口变化写进变更单:防火墙策略没有同步更新,会在升级窗口里制造出一批看似严重的假故障。
把服务实际监听地址与配置项逐条对照,可以提前发现绑定错网卡的情况:节点只绑定了管理网地址时,跨网段的远程读写会全部失败,而本机自测完全正常。