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