ElasticSearch基礎分布式架構講解

2021-09-10 01:45:05 字數 1087 閱讀 9924

elasticsearch是一台分布式系統,之所以分布式,是為了應對大資料量,他把整個分布式系統的一些複雜的東西隱藏起來,我們不用去關係他們,直接可以使用es。

隱藏的特性或機制:

之前我們隨便可以將document資料插入到es集群中,我們有沒有care過資料是如何進行分片的,就是說document存放到哪乙個shard中的。

比如說我們再單台伺服器上面執行乙個es節點,這個es節點的health狀態是yellow,這個我們是知道的,當我們再啟動乙個es程序,最為乙個節點的時候,這個程序會自動發現集群,並且自動加入到集群中,還接收了部分資料,replica shard 資料。

假設現在有3個es節點,25個shard要分配,es會自動進行均勻的分配,以保持每個節點的均衡的讀寫負載請求。

還有 shard副本, 請求路由,集群擴容, shard重分配等

假設現在有6臺伺服器,每台上面可以儲存1t的資料,現在資料量增加到8t,有兩種擴容方案:

購置更加強大的伺服器,比如將其中的兩台伺服器換成可以儲存2t資料的伺服器,這個時候4 + 2*2 = 8t

缺點:高配置的伺服器成本非常高。

購置兩台1t的伺服器,直接新增到集群中。

業界比較採用,很多普通的伺服器組織在一起,可以構成強大的計算和儲存能力。

比如上面前5個節點,每乙個節點上有乙個shard,但是第六個節點有2個shard,這個時候,最後乙個節點同其他節點是不平衡的,他的儲存和請求的負載比較高的,這個時候,集群中新增乙個節點,第六個節點會分配乙個shard到新節點上,實現rebalance。

在集群中,有乙個master節點,管理集群的元資料,比如索引的元資料,節點的增加和刪除,維護節點的元資料,預設情況下,會自動選擇乙個節點作為master節點,但是master節點不承載所有的請求,所以說master節點不會是乙個單點瓶頸。只是做一些輕量級的事情。

每乙個節點都能接收所有的請求

每乙個節點接收到請求之後都能夠把這個請求路由到有相關資料的其他節點上去

最原始接收的節點負責從其他節點採集相應的資料,然後把彙總的資料返回到客戶端

ElasticSearch基礎概念

es的index索引,document文件物件,副本,多節點集群等基礎知識 1 通俗的解釋 在elasticsearch中,文件歸屬於一種型別 type 而這些型別存在於索引 index 中,索引名稱必須是小寫 relational db database table row column elas...

Elasticsearch基礎概念

1 索引 索引 index 是elasticsearch存放具體資料的地方,是一類具有相似特徵的文件的集合。elasticsearch中索引的概念具有不同意思,這裡的索引相當於關聯式資料庫中的乙個資料庫例項。在elasticsearch中索引還可以作為動詞,表示對資料進行索引操作。2 型別 在6.0...

ElasticSearch基礎介紹

1 索引 索引 index 是elasticsearch存放具體資料的地方,是一類具有相似特徵的文件的集合。elasticsearch中索引的概念具有不同意思,這裡的索引相當於關聯式資料庫中的乙個資料庫例項。在elasticsearch中索引還可以作為動詞,表示對資料進行索引操作。2 型別 在6.0...