天天看點

ES7學習筆記(二)ES的叢集原理

發現

發現是節點之間彼此發現,形成叢集的一個過程。這個過程發生的場景有很多,比如:你啟動了一個叢集節點,或者一個節點确認主節點已經挂掉了,或者一個新的主節點被選舉了。

咱們在配置叢集的時候在配置檔案中配置了一個

discovery.seed_hosts

,這個就是種子位址清單,叢集中的節點都在這個位址清單中。發現的過程分為兩個階段:

  1. 每一個節點都會去連接配接種子位址清單中的位址,并且去确認這些節點是不是具有主節點資格的節點。
  2. 如果确認成功,這個節點将會向遠端節點分享種子位址清單,并且遠端節點也會把他的種子位址清單分享給這個節點。然後這個節點将會詢問他發現的新的節點,最後形成叢集。

如果一個節點不具有主節點資格,那麼他将去尋找已經選舉出的主節點。如果沒有發現主節點,它将會按照

discovery.find_peers_interval

配置的時間進行重試。

如果這個幾點具有主節點資格,那麼它将去尋找主節點(已選舉出的),或者去發現所有具有主節點資格的,但是不是主節點的節點,并完成選舉過程,選舉出主節點。

主節點的作用

主節點主要負責叢集方面的輕量級的動作,比如:建立或删除索引,跟蹤叢集中的節點,決定分片配置設定到哪一個節點,在叢集再平衡的過程中,如何在節點間移動資料等。一個叢集有一個穩定的主節點是非常重要的。

繼續閱讀