您好,登錄后才能下訂單哦!
這篇文章主要介紹“elasticsearch集群cluster主要功能是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“elasticsearch集群cluster主要功能是什么”文章能幫助大家解決問題。
elasticsearch的集群功能代碼在cluster包中,通過ClusterService接口對外暴露。
cluster主要包括以下功能:
發現(Discovery),路由(routing),傳送功能(transport),集群狀態(clusterstates)等。
發現功能功能主要用于節點啟動后發現集群,master向所有節點發布集群狀態,選舉master節點并引發集群節點變得事件;
routing記錄了集群中各個shard的位置,為節點提供數據信息;
transport是節點間交流的主要通道,elasticsearch應用了netty框架實現了功能強大的transport功能;
集群狀態(clusterstates)實現了一些集群狀態,同時提供了一些方法,在集群每次變得時,master節點都會重新構建clusterstates,并將集群狀態發送給每個節點。
節點根據cluster狀態來確定某些操作是否能執行。
下圖是顯示了clusterstate的主要Fields
clusterstate的version是clusterstate的版本每次被更新它都會增加,routingTables包含了集群中所有索引的位置信息,nodes是當前集群中的所有節點,metaData是索引的一些元數據,blocks包含了集群的阻塞狀態,
集群一共有三種阻塞級別:read,write和matedata;
status集群的狀態有四種:unknown,RECEIVED,BEING_APPLIED,APPLIED。
集群功能的接口clusterservice的繼承關系如下所示:
所有實現都在InternalClusterService中,它同時繼承了AutoCloseAble接口和LifecycleComponent接口。
上圖為clusterservice的方法,這些方法包括集群的啟動與關閉,集群狀態修改和發布及節點間ping通信等,這些方法只是從從內部看集群是不存在實體的,它的功能是由一個個節點實現的。因此對于集群的操作最終還是對每個節點的操作。單有些操作只能由master來進行,有些則是所有節點都需要進行的操作。每個加入集群后就會增加clusterstatelistener及localmasterlisener,但是clusterstate的發布則只能由master節點來實現。
關于“elasticsearch集群cluster主要功能是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。