配置项作用 #
transport.tcp.port 配置项控制集群节点间通信使用的 TCP 端口范围。传输层用于节点之间的内部通信,包括集群状态同步、分片数据传输等。
配置项类型 #
该配置项为静态配置,需要在启动时设置,修改后需要重启节点才能生效。
默认值 #
9300-9400
是否必需 #
可选配置项(有默认值)
取值范围 #
单端口或端口范围(如 9300 或 9300-9400)
配置格式 #
# 默认配置(端口范围)
transport.tcp.port: 9300-9400
# 单端口
transport.tcp.port: 9300
# 自定义端口范围
transport.tcp.port: 9500-9600
# 特定端口
transport.tcp.port: 19300
相关配置项 #
| 配置项 | 默认值 | 说明 |
|---|---|---|
transport.tcp.port | 9300-9400 | TCP 端口范围 |
http.port | 9200-9300 | HTTP 端口范围 |
transport.publish_port | -1 | 发布端口 |
transport.bind_host | - | 绑定地址 |
工作原理 #
端口分配机制:
┌─────────────────────────────────────────────────────────────────┐
│ 端口分配 │
└─────────────────────────────────────────────────────────────────┘
节点启动
│
▼
检查 transport.tcp.port 配置
│
├── 端口范围(如 9300-9400)
│ │
│ ├── 尝试绑定起始端口
│ ├── 端口被占用?→ 尝试下一个端口
│ └── 成功绑定
│
└── 单端口
│
└── 尝试绑定指定端口
│
├── 成功 → 使用此端口
└── 失败 → 启动失败
使用场景 #
1. 默认配置(推荐) #
transport.tcp.port: 9300-9400
适用于大多数集群配置。
2. 自定义端口范围 #
transport.tcp.port: 9300-9350
适用场景:
- 避免与其他服务冲突
- 端口范围受限
- 防火墙规则
3. 单端口配置 #
transport.tcp.port: 9300
适用场景:
- 固定端口分配
- 容器化部署
- 负载均衡器配置
4. 安全加固 #
transport.tcp.port: 19300
适用场景:
- 使用非标准端口
- 安全要求
- 避免端口扫描
推荐设置建议 #
| 部署环境 | 推荐配置 | 说明 |
|---|---|---|
| 默认 | 9300-9400 | 标准配置 |
| 容器化 | 单端口 | 端口映射需要 |
| 多节点集群 | 端口范围 | 自动分配 |
| 安全加固 | 非标准端口 | 避免默认端口 |
监控建议 #
# 查看节点传输端口
GET /_cat/nodes?v&h=name,transport
# 查看节点连接
GET /_cat/nodes?v&h=name,*,transport*
# 检查端口占用
netstat -tuln | grep 9300
防火墙配置 #
# 开放端口范围
sudo ufw allow 9300:9400/tcp
# 或特定端口
sudo ufw allow 9300/tcp
注意事项 #
- 静态配置:修改需要重启节点
- 节点间通信:所有节点使用相同端口范围
- 防火墙规则:确保防火墙允许配置的端口
- 端口冲突:避免与其他服务端口冲突
- 集群配置:确保所有节点使用相同的配置





