前面已經介紹了ElasticSearch是一個分佈式系統,分佈式是爲了應付大數據量。ElasticSearch它實現分佈式的時候就已經將全部複雜的操做本身都實現了。好比:服務器
ElasticSearch的分片機制給咱們帶來了什麼好處?當咱們想要存儲一篇文檔的時候不用去手動選擇應該將文檔存到那個分片上面。架構
集羣發現機制, 它能夠在咱們有了多個elasticSearch節點的時候自動將咱們的ElasticSearch組成一個集羣,不用咱們去配置(前提是同一臺機器上, 不一樣的機器須要配置IP)負載均衡
當咱們有3個節點須要分配25個shard的時候,ElasticSearch會自動將這25個分片平均分配到每一個節點上面分佈式
當咱們新增一個索引時,不須要去維護它的備份這些,ElasticSearch會自動幫咱們完成這些複雜的操做。大數據
當咱們想要獲取某條數據時,並不用管到底到那個分片或者節點上面去獲取,ElasticSearch會自動將咱們的請求路由到有該數據的地方。cdn
當咱們新啓動一個節點的時候會自動加入到當前已經有了的集羣裏。blog
當咱們有有沒有分配的shard的時候,若是這個時候有了新的節點加入進來,那麼會自動分配該shard索引
咱們如今有4臺服務器,每臺服務器的容量是1T,最多可以存儲4T的數據 路由
水平擴容就是在原有的基礎上面直接加上兩臺新服務器,容量是1T,那麼這個時候究竟是使用水平擴容仍是垂直擴容呢?通常狀況是是採用水平擴容,由於水平擴容的價格更便宜。 文檔
在ElasticSearch集羣中總有一些節點會負載要重一些,由於當咱們的分片分配的時候可能不能平均分配,某些節點須要擔任更多的負載,好比咱們有10個分片,可是有隻有3臺服務器,那麼就會有一臺會多承擔負載,這個時候若是咱們新增分片的時候,這個分片會自動分配到負載較輕的節點上面。
默認狀況下ElasticSearch中的會選擇出一個master節點,這個master節點主要管理集羣的元數據,好比說索引的建立和刪除,維護索引元數據,節點的增長和移除,維護集羣的元數據(元數據是指index,type,id這三個元數據)。
在ElasticSearch中,全部的節點功能都是相同的也就是節點平等,均可以進行增刪改查,好比如今有4個節點,user數據存儲在節點1上面,咱們可能直接訪問到節點1上面獲取數據,也多是訪問到節點2上面,而後節點2去節點1上面拿數據,而後在從節點2返回回來。