ES分布式机制的透明性,垂直扩容和水平扩容,数据rebalance,master节点,节点平等的分布式架构,shard和replica机制(学习)
1、Elasticsearch對復(fù)雜分布式機制的透明影藏特性
Elasticsearch是一套分布式的系統(tǒng),分布式是為了應(yīng)對大數(shù)據(jù)量影藏了復(fù)雜的分布式機制。
分片機制(我們可以隨隨便便就將一些document插入到es集群中去,我們沒有care過數(shù)據(jù)是怎么進(jìn)行分片的,數(shù)據(jù)到哪個shard中去)
cluster discovery(集群發(fā)現(xiàn)機制,集群status從yellow轉(zhuǎn)green的實現(xiàn)里,直接啟動了第二個es進(jìn)程,那個進(jìn)程作為一個node自動就發(fā)現(xiàn)了集群,并且加入了進(jìn)去,還接受了部分?jǐn)?shù)據(jù),replica shard)
shard負(fù)載均衡(舉例,假設(shè)現(xiàn)在有3個節(jié)點,總共有25個shard要分配到3個節(jié)點上去,es會自動進(jìn)行均勻分配,以保持每個節(jié)點的均衡的讀寫負(fù)載請求)
shard副本,請求路由,集群擴容,shard重分配。
2、Elasticsearch支持垂直擴容和水平擴容
垂直擴容:采購更強大的服務(wù)器。
水平擴容:采購越來越多的普通服務(wù)器,性能比較一般,但是很多普通服務(wù)器組織在一起,就能構(gòu)成強大的計算和存儲能力。
擴容對應(yīng)用程序的透明性。
3、增加或減少節(jié)點時的數(shù)據(jù)rebalance
保持負(fù)載均衡
4、master節(jié)點
(1)、創(chuàng)建或刪除索引
(2)、增加或刪除節(jié)點
5、節(jié)點平等的分布式架構(gòu)
(1)、節(jié)點對等,每個節(jié)點都能接收所有的請求。
(2)、自動請求路由
(3)、響應(yīng)收集
6、shard和replica機制再次梳理
(1)index包含多個shard
(2)每個shard都是一個最小工作單元,承載部分?jǐn)?shù)據(jù),lucene實例,完整的建立索引和處理請求的能力
(3)增減節(jié)點時,shard會自動在nodes中負(fù)載均衡
(4)primary shard和replica shard,每個document肯定只存在于某一個primary shard以及其對應(yīng)的replica shard中,不可能存在于多個primary shard
(5)replica shard是primary shard的副本,負(fù)責(zé)容錯,以及承擔(dān)讀請求負(fù)載
(6)primary shard的數(shù)量在創(chuàng)建索引的時候就固定了,replica shard的數(shù)量可以隨時修改
(7)primary shard的默認(rèn)數(shù)量是5,replica默認(rèn)是1,默認(rèn)有10個shard,5個primary shard,5個replica shard
(8)primary shard不能和自己的replica shard放在同一個節(jié)點上(否則節(jié)點宕機,primary shard和副本都丟失,起不到容錯的作用),但是可以和其他primary shard的replica shard放在同一個節(jié)點上
7、創(chuàng)建index是什么樣子的
(1)單node環(huán)境下,創(chuàng)建一個index,有3個primary shard,3個replica shard
PUT /test_index {"settings": {"number_of_shards": 3,"number_of_replicas": 1} }
(2)、集群status是yellow
(3)、這個時候,只會將3個primary shard分配到僅有的一個node上去,另外3個replica shard是無法分配的。
(4)、集群可以正常工作,但是一旦出現(xiàn)節(jié)點宕機,數(shù)據(jù)全部丟失,而且集群不可用,無法承接任何請求。
總結(jié)
以上是生活随笔為你收集整理的ES分布式机制的透明性,垂直扩容和水平扩容,数据rebalance,master节点,节点平等的分布式架构,shard和replica机制(学习)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES分组聚合:计算每个tag下的商品数量
- 下一篇: 保费倒挂还有意义吗