📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

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.port9300-9400TCP 端口范围
http.port9200-9300HTTP 端口范围
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

注意事项 #

  1. 静态配置:修改需要重启节点
  2. 节点间通信:所有节点使用相同端口范围
  3. 防火墙规则:确保防火墙允许配置的端口
  4. 端口冲突:避免与其他服务端口冲突
  5. 集群配置:确保所有节点使用相同的配置