橫向擴容方案一:
橫向擴容方案二:
1、容錯:各種情況下都能保證工作正常執行
在區域性出錯異常的情況下,保證服務正常執行並且有自行恢復能力
2、es的角色
① master:主節點,每個集群都有且只有乙個
盡量避免master節點 node.data = true
②voting:
投票節點
node.voting_only = true
僅投票節點,即使配置了data.master = true,也不會參選, 但是仍然可以作為資料節點
③coordinating:協調節點
每乙個節點都隱式的是乙個協調節點
如果同時設定了data.master = false和data.data=false,那麼此節點將成為僅協調節點
④master-eligible node(候選節點):一般情況下在集群中候選節點的數量和投票節點相同
⑤ data node(資料節點):進行資料互動工作
3、容錯**
第一步:master選舉
①腦裂:可能會產生多個master節點
② 解決:discovery.zen.minimum_master_nodes=n/2+1(向下取整,n代表具有master節點的數量)
第二步:replica容錯
新的(或者原有)master節點會將丟失的primary對應的某個副本提公升為primary
第三步:重啟故障機
第四步:資料恢復
master會將宕機期間丟失的資料同步到重啟機器對應的分片上去
如上圖橫向擴容方案二所示,假設p0所在機器宕機,則其他機器中p0對應的副本分片(假設為r2-0)公升級為主分片承擔寫操作(副本分片只能讀,主分片既能讀又能寫)
在r2-0副本分片公升級為主分片,故障機重啟成功的這段時間內,會有新增的資料寫到r2-0中,當宕機機器重啟成功後,r2-0會把新增的資料拷貝到p0中
4、腦裂
如上圖所示,假設集群中有兩台機器,這兩台機器位於不同機房,這時網路斷開,es中乙個節點發現沒有了master節點,會發起投票,將自己選為master節點。一段時間後網路重連成功,就出現了兩台master節點,這就是腦裂。
5、解決腦裂
如果候選節點(node.master = true)的節點有偶數個,那麼es會將其中乙個節點排除在投票節點之外
①設定主節點:node.master:true(在主節點宕機後有競選主節點的資格)
②進行資料儲存:node.data:true
一共會出現4種組合:
1、①②都為true:既有主節點的競選資格又有資料儲存功能
2、①為false②為true:只儲存資料
3、①為true②為false:只擔當主節點
注意:一般來說master節點不用做資料儲存節點
在學習時盡量使用預設配置,如果修改預設配置,es會認為你從開發模式切換到生產模式
1、green:所有pshard和rshard都處於活躍狀態
2、yellow:當前集群中至少有乙個rshard不可用
3、red:至少有乙個pshard不可用
1、es安裝
2、node 安裝
3、kibana安裝
1、建立索引:put /索引?pretty
2、查詢索引:get _cat/索引?v
3、刪除索引:delete /索引/pretty
4、插入資料:
put /索引/_doc/id
json資料
5、更新資料
② 指定字段更新
post /索引/_doc/1/_update
"doc":{
"price":2999
6、刪除資料: delete /index/type/id
7、查詢資料:get /索引/_search
8、條件查詢:get /索引/_search?q=price:2999&sort=price:asc
Windows環境下安裝ES
elasticsearch是使用j a開發的,且本版本的es需要的jdk版本要是1.8以上,所以安裝elasticsearch之前保證jdk1.8以上安裝完畢,並正確的配置好jdk變數環境 j a home 否則啟動elasticsearch失敗。es與jdk的版本對應 es程式包預設打包jdk,以...
ElasticSearch集群健康值
和elasticsearch裡其他 api 一樣,cluster health會返回乙個json響應。這對自動化和告警系統來說,非常便於解析。響應中包含了和你集群有關的一些關鍵資訊 cluster name es cluster status red timed out false,number o...
Es環境搭建
curl l o tar xvf elasticsearch 5.2.0.tar.gz vim etc security limits.conf 新增如下內容 soft nofile 65536 hard nofile 131072 soft nproc 2048 hard nproc 4096 v...