分布式搜索服務ElasticSearch(5)
elasticsearch采用分布式集群架構,通過將多個ElasticSearch運行實例組成一個集群,這個集群里面有一個節點叫做主節點(master),ElasticSearch是去中心化的,所以這里的主節點是動態選舉出來的,不存在單點故障。在同一個子網內,只需要在每個節點上設置相同的集群名,ElasticSearch就會自動的把這些集群名相同的節點組成一個集群。節點和節點之間通訊以及節點之間的數據分配和平衡全部由ElasticSearch自動管理。在外部看來ElasticSearch就是一個整體。
如圖所示, ElasticSearch集群方案有EsMaster和EsNode等進程組成。圖中各個角色及作用如下:
Client角色:Client使用HTTP或HTTPS協議同ElasticSearch集群中的EsMaster以及各EsNode實例進程進行通信,進行分布式索引和分布式搜索操作。
Cluster:代表一個集群,集群中有多個節點,其中有一個為主節點,這個主節點是通過選舉產生的,主從節點是對于集群內部來說的。
EsMaster:主節點,負責存放ElasticSearch的元數據,可以臨時管理集群級別的一些變更,例如新建或刪除索引、增加或移除節點等。主節點不參與文檔級別的變更或搜索,在流量增長時,該主節在流量增長時,該主節點不會成為集群的瓶頸。
EsNode:ElasticSearch節點,一個節點就是一個ElasticSearch實例,EsNode存放ElasticSearch的索引數據。 ?? shards:代表索引分片,ElasticSearch可以把一個完整的索引分成多個分片,這樣的好處是可以把一個大的索引拆分成多個,分布到不同的節點上。
replicas:代表索引副本,ElasticSearch可以設置多個索引的副本。副本的作用一是提高系統的容錯性,當某個節點某個分片損壞或丟失時可以從副本中恢復;二是提高ElasticSearch的查詢效率,ElasticSearch會自動對搜索請求進行負載均衡。
ZooKeeper:在ElasticSearch是必須的,提供安全認證信息的存儲等功能。
Elasticsearch 分布式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。