6123 与 Flink 集群内部通信
6123 是 Apache Flink 集群的内部端口:TaskManager 的 RPC 服务默认监听 6123,Blob 服务使用 6124,两者共同支撑作业调度。Flink 由 JobManager 负责协调、TaskManager 负责执行,作业提交时需要把代码与依赖分发到各 TaskManager(Blob 服务),再由 RPC 建立节点之间的通信。Flink 1.9 之后 RPC 实现改为 Akka 变体,端口区间可配置;容器化部署后若端口规划没有同步更新,作业一直停在调度中是最常见的现象。
基本信息
| 服务名 | Flink TaskManager RPC(6123;Blob 服务 6124) |
|---|---|
| 传输层 | TCP |
| 相关配置 | taskmanager.rpc.port、taskmanager.data.port 等,具体参数名以所用版本文档为准 |
| Web UI | JobManager Web UI 默认 8081 |
| 用途 | TaskManager 间通信、Shuffle 与状态传输 |
| 安全等级 | 仅大数据网段 |
典型使用场景
- 作业调度卡住排障:确认 TaskManager 是否成功注册并互相可达
- 扩缩容后的端口规划:节点增加后重新核对端口段与安全组
- 防火墙规则核对:确认端口段而非单个端口被放行
- 容器化部署核查:确认端口是否固定,避免策略失效
- 安全评估:内部端口不应暴露到大数据网段之外
端口核对
端口核对
ss -lntp | grep -E '612[0-9]|8081' # 集群节点上的相关监听
# 核对 flink-conf.yaml 中与端口相关的配置项
# 容器环境:确认端口是否固定映射,否则安全组规则会失效
# 作业卡住时先看 JobManager 日志中的 TaskManager 注册记录Flink 常见端口
| 端口 | 组件 | 说明 |
|---|---|---|
| 6123 | TaskManager RPC | 本条目,节点间通信 |
| 6124 | Blob 服务 | 分发代码与依赖文件 |
| 8081 | JobManager Web UI | 默认 Web 界面端口 |
| 数据面端口 | taskmanager.data.port | 值随版本与配置变化,需核对文档 |
容器化后端口随机化是高频坑点:安全组按固定端口放行,TaskManager 却拿到了新端口,表现是作业长期处于调度中,而 JobManager 日志只报无法连接 TaskManager。
排查顺序建议:先看 JobManager 日志里 TaskManager 的注册记录,再在对应节点上核对端口监听与防火墙,最后才怀疑资源不足或代码问题。
端口规划要覆盖四类:JobManager 相关、TaskManager RPC、Blob 服务与 Web UI。只规划其中一部分,等扩容或故障转移时就会撞上未放行的端口,而现象只是作业卡在调度阶段。