Elasticsearch 传输端口
9300 是 Elasticsearch 节点之间的传输端口,用于集群发现、分片分配与数据复制。客户端访问走 9200 的 HTTP 接口,节点内部通信走 9300。防火墙只放行客户端口,是这个组件最经典的配置错误,结果就是节点彼此看不见,集群状态一直不正常。
基本信息
| 服务 | Elasticsearch transport(节点间通信) |
|---|---|
| 协议 | TCP,默认 9300 |
| 对应客户端口 | 9200(HTTP) |
| 用途 | 分片复制、集群状态同步 |
| 安全等级 | 仅集群节点互连网段 |
典型使用场景
- 集群节点之间同步索引与分片状态
- 集群发现与主节点选举
- 跨集群检索场景下的节点间通信
- 排查集群状态异常,确认节点间端口是否互通
- 安全评估时确认传输端口只在集群内网可达
节点与集群状态检查
节点与集群状态检查
ss -lntp | grep 9300
curl -s localhost:9200/_cat/nodes?v
curl -s localhost:9200/_cluster/health?pretty端口与状态判读
| 项目 | 值 | 说明 |
|---|---|---|
| 客户端口 | 9200 | 应用与运维工具访问入口 |
| 传输端口 | 9300 | 本条目,集群内部通信 |
| 集群发现 | 依赖节点互通 | 只放客户端口会导致节点彼此看不见 |
| 集群状态 | 绿黄红 | 黄色常见于副本未分配,红色为主分片缺失 |
典型现象:防火墙只放行客户端口时,单节点看起来一切正常,加入第二个节点后集群状态长期为黄色或红色,日志里能看到节点无法互相连接的报错。排查这类问题应先核对节点间的连通性。
传输端口承载集群内部通信,历史上相关接口缺少认证与加密。若暴露到不受信网段,攻击者可能直接读写索引数据,应把它限制在集群节点互连网段内。
运维提示:滚动重启时一次只重启一个节点,确认集群状态恢复绿色后再继续,可以避免主分片长时间未分配带来的查询失败。
容量提示:节点间复制会同时占用网络与磁盘带宽,大规模写入时观察节点间的复制延迟,比只看写入成功率更能提前发现问题。