elasticsearch-cluster

Elasticsearch 集群配置与运维

补充说明

Elasticsearch Cluster 由多个节点组成,节点角色、发现配置和分片分配决定集群的稳定性和容量。生产集群要区分 master/data/ingest/coordinating 角色。

常用示例

curl -s 'http://es:9200/_cluster/health?pretty'
curl -s 'http://es:9200/_cat/nodes?v'
curl -s 'http://es:9200/_cat/shards?v'
curl -s 'http://es:9200/_cluster/settings?pretty'
curl -X PUT 'http://es:9200/_cluster/settings' \
  -H 'Content-Type: application/json' \
  -d '{"persistent":{"cluster.routing.allocation.enable":"all"}}'

发现与角色:

cluster.name: app-search
node.name: es-1
node.roles: [master, data, ingest]
discovery.seed_hosts: ["es-1", "es-2", "es-3"]
cluster.initial_master_nodes: ["es-1", "es-2", "es-3"]

易错点与排错

相关命令

读完自测

合上页面,先回答,再展开对照。

  1. 索引健康为 yellow 且副本一直未分配,最常见原因是什么?
  2. master-eligible 节点为什么建议用奇数(3/5)?
  3. 超大集群把 master、data、ingest 全部混部有什么风险?
答案
  1. 副本数超过数据节点数,副本无法分配。
  2. 避免脑裂,选主需要多数派;7.x 后 minimum_master_nodes 由选举机制替代。
  3. 角色不分离会互相影响,超大集群应做角色分离。