elasticsearch集羣之添加故障轉移

添加故障轉移

當集羣中只有一個節點在運行時,意味着會有一個單點故障問題——沒有冗餘。 幸運的是,我們只需再啓動一個節點即可防止數據丟失。

啓動第二個節點

爲了測試第二個節點啓動後的情況,你可以在同一個目錄內,完全依照啓動第一個節點的方式來啓動一個新節點。多個節點可以共享同一個目錄。

當你在同一臺機器上啓動了第二個節點時,只要它和第一個節點有同樣的 cluster.name 配置,它就會自動發現集羣並加入到其中。 但是在不同機器上啓動節點的時候,爲了加入到同一集羣,你需要配置一個可連接到的單播主機列表。

 

如果啓動了第二個節點,我們的集羣將會如Figure 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
}

 

我們的集羣現在不僅僅是正常運行的,並且還處於 始終可用 的狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章