原文地址: https://www.elastic.co/guide/cn/elasticsearch/guide/current/_add_failover.html, 版权归 www.elastic.co 所有
英文版地址: https://www.elastic.co/guide/en/elasticsearch/guide/current/_add_failover.html
英文版地址: https://www.elastic.co/guide/en/elasticsearch/guide/current/_add_failover.html
请注意:
本书基于 Elasticsearch 2.x 版本,有些内容可能已经过时。
本书基于 Elasticsearch 2.x 版本,有些内容可能已经过时。
添加故障转移edit
当集群中只有一个节点在运行时,意味着会有一个单点故障问题 —— 没有冗余。 幸运的是,我们只需再启动一个节点即可防止数据丢失。
如果启动了第二个节点,我们的集群将会如图 3, “拥有两个节点的集群——所有主分片和副本分片都已被分配”所示。
图 3. 拥有两个节点的集群——所有主分片和副本分片都已被分配
当第二个节点加入到集群后,3个 副本分片 将会分配到这个节点上——每个主分片都有一个副本分片。 这意味着当集群内任何一个节点出现问题时,我们的数据都完好无损。
所有新近被索引的文档都将会保存在主分片上,然后被并行的复制到对应的副本分片上。这就保证了我们既可以从主分片又可以从它的任何副本上获得文档。
cluster-health
现在展示的状态为 green
,这表示所有6个分片(包括3个主分片和3个副本分片)都运行正常。
{ "cluster_name": "elasticsearch", "status": "green", "timed_out": false, "number_of_nodes": 2, "number_of_data_nodes": 2, "active_primary_shards": 3, "active_shards": 6, "relocating_shards": 0, "initializing_shards": 0, "unassigned_shards": 0, "delayed_unassigned_shards": 0, "number_of_pending_tasks": 0, "number_of_in_flight_fetch": 0, "task_max_waiting_in_queue_millis": 0, "active_shards_percent_as_number": 100 }
我们的集群不仅功能齐全,并且还始终可用。