配置项作用 #
node.name 配置项定义 Easysearch 节点的名称,用于在集群中唯一标识每个节点。节点名称出现在日志、监控和管理界面中,便于识别和管理节点。
配置项类型 #
该配置项为静态配置,需要在启动时设置,修改后需要重启节点才能生效。
默认值 #
机器名的主机名前 8 个字符 + 随机字符
例如:node-1、es-prod-abc123 等
是否必需 #
可选配置项(但强烈建议为每个节点设置明确的名称)
命名规则 #
- 集群内唯一:同一集群内节点名称必须唯一
- 可读性强:建议使用有意义、易于识别的名称
- 避免特殊字符:使用字母、数字、连字符和下划线
- 长度限制:建议不超过 50 个字符
使用示例 #
# 简单命名
node.name: node-1
# 按角色命名
node.name: data-node-1
node.name: master-node-1
node.name: coordinating-node-1
# 按位置命名
node.name: es-prod-dc1-rack1-node1
node.name: es-prod-dc2-rack2-node1
# 按环境命名
node.name: es-dev-node1
node.name: es-test-node1
node.name: es-prod-node1
# 描述性命名
node.name: easysearch-prod-data-01
推荐命名规范 #
1. 简单数字命名 #
适用于小型集群:
# 集群中的三个节点
node.name: node-1
node.name: node-2
node.name: node-3
2. 角色+数字命名 #
适用于有明确角色分工的集群:
# 数据节点
node.name: data-01
node.name: data-02
node.name: data-03
# 主节点
node.name: master-01
node.name: master-02
node.name: master-03
# 协调节点
node.name: coord-01
node.name: coord-02
3. 环境+位置+角色命名 #
适用于大型生产集群:
# 格式:{服务}-{环境}-{数据中心}-{机架}-{角色}-{序号}
node.name: es-prod-dc1-r1-data-01
node.name: es-prod-dc1-r1-data-02
node.name: es-prod-dc2-r1-data-01
实际部署示例 #
开发环境 #
cluster.name: dev-cluster
node.name: dev-node-1
生产环境(三节点) #
# 节点 1
cluster.name: prod-cluster
node.name: prod-es-01
network.host: 192.168.1.10
# 节点 2
cluster.name: prod-cluster
node.name: prod-es-02
network.host: 192.168.1.11
# 节点 3
cluster.name: prod-cluster
node.name: prod-es-03
network.host: 192.168.1.12
跨数据中心部署 #
# 数据中心 1
node.name: prod-dc1-node1
node.attr.zone: dc1
# 数据中心 2
node.name: prod-dc2-node1
node.attr.zone: dc2
查看节点名称 #
# 通过 API 查看所有节点
GET /_cat/nodes?v
# 输出示例
name ip node.role
prod-es-01 192.168.1.10 master,data
prod-es-02 192.168.1.11 master,data
prod-es-03 192.168.1.12 master,data
# 查看节点详细信息
GET /_nodes/node-name
# 查看所有节点
GET /_nodes
在日志中识别节点 #
节点名称会出现在所有日志条目中:
[prod-es-01] [cluster.name] ... log message here
便于快速定位问题来源。
命名最佳实践 #
- 保持一致:使用统一的命名规范
- 包含环境:明确标识环境(dev/test/prod)
- 包含位置:标识数据中心或机架位置
- 包含角色:标识节点的主要角色
- 易于识别:名称应该能直观反映节点特征
- 避免重复:确保集群内名称唯一
配置位置 #
配置文件(easysearch.yml):
node.name: my-node-name
命令行:
./bin/easysearch -Enode.name=my-node-name
环境变量:
export ES_JAVA_OPTS="-Enode.name=my-node-name"
常见问题 #
问题 1:节点名称冲突
IllegalArgumentException: can't add same node twice
解决方案: 确保每个节点的 node.name 唯一
问题 2:难以识别节点
使用描述性名称替代默认生成的名称。
问题 3:修改节点名称
节点名称是静态配置,修改后需要重启节点。如果集群已经运行,修改节点名称会导致该节点被识别为新节点。
相关配置项 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
cluster.name | 集群名称 | easysearch |
node.roles | 节点角色列表 | master,data,ingest |
node.attr.* | 节点属性 | - |
注意事项 #
- 静态配置:修改节点名称需要重启节点
- 唯一性要求:集群内节点名称必须唯一
- 初始主节点:首次启动集群时,
node.name用于cluster.initial_master_nodes配置 - 监控集成:节点名称是监控系统识别节点的关键标识
- 日志追踪:便于在日志和监控中追踪特定节点的问题





