elasticsearch基本概念之集群,節(jié)點(diǎn),分片

集群

一個(gè)集群可以有一個(gè)或者多個(gè)節(jié)點(diǎn),節(jié)點(diǎn)是一個(gè)elasticsearch實(shí)例,本質(zhì)上是一個(gè)java進(jìn)程。

節(jié)點(diǎn)

  • Master-eligible Node & Master Node:
    每個(gè)節(jié)點(diǎn)啟動(dòng)后,默認(rèn)就是一個(gè)Master-eligible節(jié)點(diǎn) 。Master-eligible節(jié)點(diǎn)可以參加選主流程,成為master節(jié)點(diǎn)。
    第一個(gè)節(jié)點(diǎn)啟動(dòng)的時(shí)候,會(huì)將自己選舉成master節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)都保存了集群的狀態(tài),只有master節(jié)點(diǎn)才能修改集群的狀態(tài)信息
    集群狀態(tài)(Cluster State),維護(hù)了一個(gè)集群中必要的信息:
    1, 所有的節(jié)點(diǎn)信息
    2, 所有的索引和其相關(guān)的Mapping和Setting信息
    3, 分片的路由信息

  • Data Node & Coordinating Node :
    1,可以保存數(shù)據(jù)的節(jié)點(diǎn),負(fù)責(zé)保存分片數(shù)據(jù)
    2,負(fù)責(zé)接受client的請(qǐng)求,將請(qǐng)求分發(fā)到合適的節(jié)點(diǎn),最終把結(jié)果匯集到一起,每個(gè)節(jié)點(diǎn)默認(rèn)都起到了Coordinating Node的職責(zé)

分片(Primary Shard & Replica Shard):

  • 主分片,用已解決數(shù)據(jù)水平擴(kuò)展的問題。通過主分片,可以將數(shù)據(jù)分布到集群內(nèi)的所有節(jié)點(diǎn)之上:
    1.一個(gè)分片是一個(gè)運(yùn)行的Lucene的實(shí)例
    2.主分片數(shù)在索引創(chuàng)建時(shí)指定,后續(xù)不允許修改,除非Reindex
  • 副本,用來解決數(shù)據(jù)高可用的問題。副本分片是主分片的拷貝:
    1.副本分片數(shù)可以動(dòng)態(tài)調(diào)整
    2.增加副本數(shù),可以在一定程度上提高服務(wù)的可用性(讀取的吞吐)
  • 一個(gè)三節(jié)點(diǎn)的集群中,blogs索引的分片分布情況。
    "settings":{
    "number_of_shards":3,
    "number_of_replicas":1
    } 3個(gè)主分片,1個(gè)副本分片

分片的設(shè)定

  • 分片設(shè)置過小
    1,導(dǎo)致后續(xù)無法增加節(jié)點(diǎn)實(shí)現(xiàn)水平擴(kuò)展
    2,單個(gè)分片的數(shù)據(jù)量太大,導(dǎo)致數(shù)據(jù)重新分配耗時(shí)
  • 分片設(shè)置過大
    1,影響搜索結(jié)果的相關(guān)性打分,影響統(tǒng)計(jì)結(jié)果的準(zhǔn)確性
    2,單個(gè)節(jié)點(diǎn)上過多的分片,會(huì)導(dǎo)致資源浪費(fèi),同時(shí)也會(huì)影響性能

集群的健康狀況

GET _cluster/health

  • Green - 主分片與副本都正常分配
  • Yellow - 主分片全部正常分配,有副本分片未能正常分配
  • Red - 有主分片未能分配
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容