轉 es中資料節點和主機

2022-05-27 06:33:12 字數 1643 閱讀 3143

在生產環境下,如果不修改elasticsearch節點的角色資訊,在高資料量,高併發的場景下集群容易出現腦裂等問題。

預設情況下,elasticsearch集群中每個節點都有成為主節點的資格,也都儲存資料,還可以提供查詢服務。

這些功能是由兩個屬性控制的。

node.master和node.data

預設情況下這兩個屬性的值都是true。

下面詳細介紹一下這兩個屬性的含義以及不同組合可以達到的效果。

node.master:這個屬性表示節點是否具有成為主節點的資格

注意:此屬性的值為true,並不意味著這個節點就是主節點。

因為真正的主節點,是由多個具有主節點資格的節點進行選舉產生的。

所以,這個屬性只是代表這個節點是不是具有主節點擊舉資格。

node.data:這個屬性表示節點是否儲存資料。

這兩個屬性可以有四種組合:

第一種:這種組合表示這個節點即有成為主節點的資格,又儲存資料,

這個時候如果某個節點被選舉成為了真正的主節點,那麼他還要儲存資料,這樣對於這個節點的壓力就比較大了。

elasticsearch預設每個節點都是這樣的配置,在測試環境下這樣做沒問題。實際工作中建議不要這樣設定,

這樣相當於主節點和資料節點的角色混合到一塊了。

node.master: true

node.data: true

第二種:這種組合表示這個節點沒有成為主節點的資格,也就不參與選舉,只會儲存資料。

這個節點我們稱為data(資料)節點。在集群中需要單獨設定幾個這樣的節點負責儲存資料。後期提供儲存和查詢服務。

node.master: false

node.data: true

第三種:這種組合表示這個節點不會儲存資料,有成為主節點的資格,可以參與選舉,有可能成為真正的主節點。

這個節點我們稱為master節點

node.master: true

node.data: false

第四種:這種組合表示這個節點即不會成為主節點,也不會儲存資料,

這個節點的意義是作為乙個client(客戶端)節點,主要是針對海量請求的時候可以進行負載均衡。

node.master: false

node.data: false

預設情況下,每個節點都有成為主節點的資格,也會儲存資料,還會處理客戶端的請求。

在乙個生產集群中我們可以對這些節點的職責進行劃分。

建議集群中設定3臺以上的節點作為master節點【node.master: true node.data: false】

這些節點只負責成為主節點,維護整個集群的狀態。

再根據資料量設定一批data節點【node.master: false node.data: true】

這些節點只負責儲存資料,後期提供建立索引和查詢索引的服務,這樣的話如果使用者請求比較頻繁,這些節點的壓力也會比較大

所以在集群中建議再設定一批client節點【node.master: false node.data: false】

這些節點只負責處理使用者請求,實現請求**,負載均衡等功能。

master節點:普通伺服器即可(cpu 記憶體 消耗一般)

data節點:主要消耗磁碟,記憶體

client節點:普通伺服器即可(如果要進行分組聚合操作的話,建議這個節點記憶體也分配多一點)

ES中節點的角色

1.master候選人角色 作用就是管理集群的狀態資訊 2.data資料節點角色 儲存集群的索引資料 3.client協調者角色 類似閘道器的角色,接收到客戶端的請求後進行請求分發及響應聚合 es集群中的節點可以身居多個角色,比如可以同時是master和data角色.選舉演算法 es中的選舉演算法類...

es7新增新節點和下線節點

es集群是由一群相同 cluster.name 節點組成。當有新的節點加入或者有節點離開集群,集群會重新均衡資料在可用節點。當你的集群只有單例項的時候,所有的主分片都是分布在一台節點上,副本分片無法分配,所以你的集群狀態是yellow。這樣狀態的集群功能齊全但是會有丟資料的風險。新增節點到集群,可以...

樹中節點和

給定一棵 n 個節點組成的樹。樹中節點編號為 1 sim n 1 號節點為樹的根節點。樹中的每個節點 v 都具有乙個非負整數權值 a 我們用 s 來表示從節點 v 到根節點的路徑上經過的所有節點 包括兩端節點 的權值之和 用 h 來表示從節點 v 到根節點的路徑上經過的所有節點 包括兩端節點 的數量...