成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Elasticsearch 集群直接數(shù)據(jù)、協(xié)調、主節(jié)點混用在一個節(jié)點,有比較大的風險嗎?

存儲 數(shù)據(jù)管理
在實際的 Elasticsearch?部署中,節(jié)點并不是“一視同仁”的。根據(jù)分配的角色,節(jié)點可能負責協(xié)調集群、存儲數(shù)據(jù)或預處理數(shù)據(jù)。理解這些節(jié)點角色對于設計一個可擴展、高性能且容錯的 Elasticsearch 集群至關重要。

0、問題引出

最近陸續(xù)收到三個問題:

  • 問題 1:

elasticsearch master 節(jié)點報錯:

java.lang.Exception: java.lang.OutOfMemoryError: Java heap space

master jvm 配置的 24G 內存都報錯, 主節(jié)點和協(xié)調節(jié)點混在一個節(jié)點,沒有獨立協(xié)調節(jié)點。

  • 問題 2:

我這邊后來的業(yè)務都是直接數(shù)據(jù)、協(xié)調、主節(jié)點混用在一個節(jié)點。

有比較大的風險嗎?

圖片圖片

  • 問題 3:

打擾下,請教一個問題

Elasticsearch 7.10版本,16個數(shù)據(jù)節(jié)點,沒有區(qū)分角色,16C64G,節(jié)點分片均勻。

現(xiàn)象是3天前開始,每到21點開始,其中一個es節(jié)點讀io比較其他節(jié)點高一倍,到凌晨2點又自己恢復了。

看機器帶寬也沒有明顯增加,機器iowait很高,有啥排查思路不?

圖片圖片

這三個問題本質都和節(jié)點角色劃分以及集群規(guī)模大了應該獨立協(xié)調節(jié)點、獨立主節(jié)點有關系。

本文帶大家一起深入了解Elasticsearch中的不同節(jié)點角色及其職責。

這里先簡單介紹一下節(jié)點的概念:一個節(jié)點是Elasticsearch的一個運行實例,可以看作一臺服務器(物理或虛擬),負責存儲數(shù)據(jù)并參與集群的各種操作(比如搜索、索引、數(shù)據(jù)處理等)。

在實際的 Elasticsearch 部署中,節(jié)點并不是“一視同仁”的。根據(jù)分配的角色,節(jié)點可能負責協(xié)調集群、存儲數(shù)據(jù)或預處理數(shù)據(jù)。理解這些節(jié)點角色對于設計一個可擴展、高性能且容錯的 Elasticsearch 集群至關重要。

在這篇文章中,我們將詳細講解五種節(jié)點角色及其職責,并通過通俗易懂的例子幫助大家快速掌握這些概念。

文章內容包括:

圖片圖片

  • 主節(jié)點(Master Node)
  • 數(shù)據(jù)節(jié)點(Data Node)
  • 協(xié)調節(jié)點(Coordinating Only Node)
  • 攝入節(jié)點(Ingest Node)
  • 投票節(jié)點(Voting Node)

好了,廢話不多說,讓我們直接進入正題!

1. 主節(jié)點(Master Node)

主節(jié)點就 像Elasticsearch 集群的“大腦”或“管理者”。它的主要職責是維護整個集群的健康和組織,而不是直接存儲數(shù)據(jù)或處理搜索查詢(除非它同時被配置為其他角色)。

1.1 主節(jié)點做什么?——用途

圖片圖片

  • 跟蹤節(jié)點:知道集群中有哪些節(jié)點在運行。
  • 管理索引:負責創(chuàng)建或刪除索引。
  • 分配數(shù)據(jù)分片:決定數(shù)據(jù)(分片)存儲在哪些節(jié)點上。
  • 處理集群變化:當有節(jié)點加入或退出時,更新集群狀態(tài)。

1.2 主節(jié)點示例

假設我們的Elasticsearch集群有3個節(jié)點:

  • 節(jié)點A
  • 節(jié)點B
  • 節(jié)點C

其中節(jié)點A是主節(jié)點。

1.2.1 場景1:創(chuàng)建新索引

當我們發(fā)送請求創(chuàng)建一個新索引(比如“products”)時:

  • 主節(jié)點A接收請求。
  • 主節(jié)點決定:

創(chuàng)建多少個分片(shards)。

將這些分片分配到哪些節(jié)點(比如,主分片放在節(jié)點B,副本分片放在節(jié)點C)。

  • 主節(jié)點A通知其他節(jié)點關于新索引和分片的信息。
  • 主節(jié)點A本身并不存儲數(shù)據(jù)(除非它也被配置為數(shù)據(jù)節(jié)點),只是負責指揮。

1.2.2 場景2:節(jié)點故障

如果節(jié)點B宕機:

圖片圖片

  • 主節(jié)點A檢測到節(jié)點B不可用。
  • 主節(jié)點重新分配節(jié)點B上的分片到其他節(jié)點(比如節(jié)點C)。
  • 通知集群中所有節(jié)點更新狀態(tài),確保集群保持平衡和可用。

1.3 如何配置主節(jié)點?

elasticsearch.yml配置文件中,設置如下:

node:
  name:master-node-1# 節(jié)點名稱
master:true         # 設置為true,表示這是主節(jié)點
data:false          # 不存儲數(shù)據(jù)
ingest:false        # 不處理數(shù)據(jù)攝入
cluster:
name:my-cluster
initial_master_nodes:["node-A"]# 集群首次啟動時指定的主節(jié)點
discovery:
seed_hosts:["node-A","node-B","node-C"]# 用于發(fā)現(xiàn)其他節(jié)點的列表

如果想讓主節(jié)點同時作為數(shù)據(jù)節(jié)點,只需將data: true即可。但大規(guī)模多節(jié)點集群務必慎重,最好獨立節(jié)點角色

2. 數(shù)據(jù)節(jié)點(Data Node)

數(shù)據(jù)節(jié)點是 Elasticsearch 的“存儲主力”。它負責存儲索引中的數(shù)據(jù)(以分片的形式),并處理數(shù)據(jù)的搜索和索引操作。

2.1 舉個例子

舉個餐廳的例子,廚師就是數(shù)據(jù)節(jié)點。

服務員(協(xié)調節(jié)點)把訂單交給廚師,廚師負責烹飪(存儲和處理數(shù)據(jù)),然后把成品菜(查詢結果)交給服務員。

圖片圖片

2.2 如何配置數(shù)據(jù)節(jié)點?

elasticsearch.yml中,設置:

node:
  data: true

2.3 一個常見問題

如果集群只有一個節(jié)點,且只配置為數(shù)據(jù)節(jié)點,它能處理用戶搜索請求嗎???

答案是:不能

如果只有一個節(jié)點,且只配置為數(shù)據(jù)節(jié)點,它無法處理用戶請求,因為協(xié)調工作需要其他角色。

如果是單節(jié)點集群,建議使用默認配置(不顯式設置任何角色),這樣節(jié)點會同時承擔所有角色(協(xié)調、主節(jié)點、數(shù)據(jù)節(jié)點等)。

3. 協(xié)調節(jié)點(Coordinating Only Node)

協(xié)調節(jié)點就像 Elasticsearch 集群中的“交通指揮員”。

它不存儲數(shù)據(jù),也不是主節(jié)點,而是負責接收用戶的請求(比如搜索或索引),并將這些請求分發(fā)到正確的節(jié)點。

3.1 協(xié)調節(jié)點做什么?

  • 接收用戶請求(比如搜索或存儲數(shù)據(jù))。
  • 將請求轉發(fā)給相關的數(shù)據(jù)節(jié)點。
  • 收集數(shù)據(jù)節(jié)點的響應。
  • 將結果匯總后返回給用戶。

協(xié)調節(jié)點不執(zhí)行存儲或搜索的“重(讀音 zhong)活”,只負責管理和分發(fā)任務。

圖片圖片

3.2 舉個例子

想象我們在一家餐廳:

  1. 我們向服務員(協(xié)調節(jié)點)點單,點了三道菜。
  2. 服務員把訂單分發(fā)給廚房的三個廚師(數(shù)據(jù)節(jié)點),每個廚師負責一道菜。
  3. 廚師做好菜后,服務員把三道菜收集起來,端到我們面前。

服務員并不自己做菜,只是負責溝通。這就是協(xié)調節(jié)點的角色。

3.3 如何配置協(xié)調節(jié)點?

默認情況下,如果以下配置都設置為false,節(jié)點就是協(xié)調節(jié)點:

node:
  master: false
  data: false
  ingest: false

4. 攝入節(jié)點(Ingest Node)

攝入節(jié)點是 Elasticsearch 中的“數(shù)據(jù)預處理器”。

它在數(shù)據(jù)被索引(類似插入數(shù)據(jù)庫)之前,對數(shù)據(jù)進行清洗、轉換或豐富處理。

圖片圖片

4.1 有點抽象?來看個例子

假設我們去餐廳點菜,但我們說得很快,還夾雜了不同的語言。

餐廳經(jīng)理(攝入節(jié)點)會:

  • 聽清楚我們的訂單。
  • 修正拼寫或語言錯誤。
  • 確認訂單內容,添加下單時間等信息。
  • 將整理好的訂單交給廚房(數(shù)據(jù)節(jié)點)。

同樣,在 Elasticsearch 中,攝入節(jié)點會處理原始數(shù)據(jù),比如清洗格式化添加額外信息,然后將處理后的數(shù)據(jù)發(fā)送到索引存儲。

4.2 工作流程

  1. 用戶發(fā)送請求到Elasticsearch,請求先到達協(xié)調節(jié)點。
  2. 如果請求中包含管道(pipeline)屬性,協(xié)調節(jié)點將數(shù)據(jù)轉發(fā)到攝入節(jié)點。
  3. 攝入節(jié)點根據(jù)管道規(guī)則處理數(shù)據(jù)(比如格式化、添加字段)。
  4. 處理后的數(shù)據(jù)返回給協(xié)調節(jié)點,再由協(xié)調節(jié)點發(fā)送到數(shù)據(jù)節(jié)點存儲。

圖片圖片

4.3 如何配置攝入節(jié)點?

elasticsearch.yml中,設置:

node:
  ingest: true

關于管道(pipeline)的具體配置,比如如何定義數(shù)據(jù)轉換規(guī)則,可以參考咱們之前的公眾號文章。

5. 投票節(jié)點(Voting Node)

投票節(jié)點參與主節(jié)點的選舉過程,幫助維持集群的穩(wěn)定性。僅投票主節(jié)點候選是參與主節(jié)點選舉但永遠不會成為主節(jié)點的節(jié)點。它們的角色是在選舉過程中提供投票,特別是在需要打破平局(tiebreaker)時非常有用。

Elasticsearch 通過多數(shù)投票機制選擇主節(jié)點。

實話說,這個咱們用的真不太多。

  • 一方面原因,早期版本沒有這種類型節(jié)點角色;
  • 另一方面原因,集群規(guī)模還遠沒有那么大。

https://www.elastic.co/docs/deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles

5.1 為什么需要投票節(jié)點?

在一個大型集群中,我們可能不希望所有節(jié)點都參與主節(jié)點選舉(會增加復雜性)。

投票節(jié)點專門負責投票,確保主節(jié)點選舉順利進行。

5.2 如何配置投票節(jié)點?

elasticsearch.yml中,設置:

node:
  roles: [master, voting_only]

5.3 投票過程示例

假設集群有 7 個節(jié)點,其中 3 個是主節(jié)點候選(Node-A、Node-B、Node-C), 4 個是投票節(jié)點(Node-D、Node-E、Node-F、Node-H):

  • 投票節(jié)點投票:

Node-D、Node-E投給Node-A。

Node-F投給Node-B。

Node-H投給Node-C。

  • Node-A獲得最多票(2票),成為主節(jié)點。

圖片圖片

5.4 投票依據(jù)是什么?

投票節(jié)點會根據(jù)以下因素選擇主節(jié)點:

  • 響應速度:哪個節(jié)點響應最快。
  • 健康狀態(tài):節(jié)點是否過載或斷連。
  • 網(wǎng)絡穩(wěn)定性:連接是否可靠。

5.5 什么時候觸發(fā)主節(jié)點選舉?

  • 集群啟動時。
  • 當前主節(jié)點失敗。
  • 有新節(jié)點加入集群。

6、總結

以讀者問題引出,讓大家提前關注到 Elasticsearch 角色劃分的重要性。

通過這篇文章,我們詳細介紹了Elasticsearch的五種節(jié)點角色及其職責:

圖片圖片

  • 主節(jié)點:管理集群,協(xié)調分片分配。
  • 數(shù)據(jù)節(jié)點:存儲和處理數(shù)據(jù)。
  • 協(xié)調節(jié)點:處理用戶請求,分發(fā)任務并匯總結果。
  • 攝入節(jié)點:預處理數(shù)據(jù),清洗或豐富數(shù)據(jù)。
  • 投票節(jié)點:參與主節(jié)點選舉,確保集群穩(wěn)定。
責任編輯:武曉燕 來源: 銘毅天下Elasticsearch
相關推薦

2018-05-21 10:40:46

Redis集群實踐

2021-08-10 07:27:42

Elasticsear集群開源

2019-07-26 09:20:21

ClusterShel命令Linux

2013-06-05 10:24:22

2023-11-06 07:35:08

節(jié)點集群ES

2023-01-17 08:51:10

2020-03-09 09:07:51

Vue根節(jié)點Fragments

2019-01-21 09:44:56

Elasticsear運維監(jiān)控

2023-11-20 10:11:05

集群節(jié)點Kubernetes

2021-02-28 22:00:28

二叉樹節(jié)點序列

2023-03-26 19:38:09

2019-09-27 08:31:55

HDFS集群Hadoop

2021-07-15 10:25:15

集群節(jié)點檢查

2024-03-15 10:05:13

Kubernetes容器云原生

2012-11-12 10:13:09

2014-07-01 09:53:21

DockerHadoop集群

2020-02-29 15:20:18

K8SKubernetes集群

2022-08-28 19:36:15

數(shù)據(jù)分片KafkaRocketMQ

2019-09-03 16:18:03

Vagran虛擬機集群

2023-09-11 09:35:20

Docker程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产一区 | 久久蜜桃av一区二区天堂 | www.国产精品 | 日本在线一区二区三区 | 中文字幕免费在线 | 国产精品一区二区三区在线 | 国产亚洲网站 | 成人久久久 | 日日干日日色 | 99久久免费观看 | 亚洲一级淫片 | 欧美一区视频 | 男女爱爱福利视频 | 欧美日韩网站 | 日韩一区二区三区在线 | 麻豆天堂 | 国产精品久久毛片av大全日韩 | 国产综合精品 | 免费久久精品视频 | 国产亚洲黄色片 | 欧美一级片免费看 | 日本视频在线 | 国产91网站在线观看 | 久久久亚洲一区 | 国产精品99久久久久久宅男 | 久久久久av | 欧美1页 | 一区二区三区在线免费看 | 91高清在线观看 | 男女网站在线观看 | 亚洲国产精品99久久久久久久久 | 久久一本| 亚洲日本中文 | 国产网站在线 | 国内毛片毛片毛片毛片 | 91视频在线 | 成人美女免费网站视频 | 99精品免费久久久久久日本 | 91久久综合| 国产麻豆乱码精品一区二区三区 | 免费毛片网站在线观看 |