--- title: "传输层 TCP 端口配置" date: 2026-03-13 lastmod: 2026-03-13 description: "控制传输层 TCP 端口范围的配置项说明" tags: ["传输配置", "网络配置", "节点通信"] summary: "配置项作用 # 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." --- ## 配置项作用 `transport.tcp.port` 配置项控制集群节点间通信使用的 TCP 端口范围。传输层用于节点之间的内部通信,包括集群状态同步、分片数据传输等。 ## 配置项类型 该配置项为**静态配置**,需要在启动时设置,修改后需要重启节点才能生效。 ## 默认值 ``` 9300-9400 ``` ## 是否必需 **可选配置项**(有默认值) ## 取值范围 ``` 单端口或端口范围(如 9300 或 9300-9400) ``` ## 配置格式 ```yaml # 默认配置(端口范围) 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. 默认配置(推荐) ```yaml transport.tcp.port: 9300-9400 ``` 适用于大多数集群配置。 ### 2. 自定义端口范围 ```yaml transport.tcp.port: 9300-9350 ``` **适用场景:** - 避免与其他服务冲突 - 端口范围受限 - 防火墙规则 ### 3. 单端口配置 ```yaml transport.tcp.port: 9300 ``` **适用场景:** - 固定端口分配 - 容器化部署 - 负载均衡器配置 ### 4. 安全加固 ```yaml transport.tcp.port: 19300 ``` **适用场景:** - 使用非标准端口 - 安全要求 - 避免端口扫描 ## 推荐设置建议 | 部署环境 | 推荐配置 | 说明 | |---------|---------|------| | 默认 | 9300-9400 | 标准配置 | | 容器化 | 单端口 | 端口映射需要 | | 多节点集群 | 端口范围 | 自动分配 | | 安全加固 | 非标准端口 | 避免默认端口 | ## 监控建议 ```bash # 查看节点传输端口 GET /_cat/nodes?v&h=name,transport # 查看节点连接 GET /_cat/nodes?v&h=name,*,transport* # 检查端口占用 netstat -tuln | grep 9300 ``` ## 防火墙配置 ```bash # 开放端口范围 sudo ufw allow 9300:9400/tcp # 或特定端口 sudo ufw allow 9300/tcp ``` ## 注意事项 1. **静态配置**:修改需要重启节点 2. **节点间通信**:所有节点使用相同端口范围 3. **防火墙规则**:确保防火墙允许配置的端口 4. **端口冲突**:避免与其他服务端口冲突 5. **集群配置**:确保所有节点使用相同的配置