偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Elasticsearch術(shù)語與部署架構(gòu)梳理

開發(fā) 架構(gòu)
ES實例的java進程,節(jié)點名稱在啟動時通過 -Enode.name指定,每個節(jié)點存儲集群狀態(tài)信息。

一、基本概念與術(shù)語

Document: 是es搜索的最小單位,被序列化成json對象存入es。

  • 文檔類比關(guān)系數(shù)據(jù)庫一條記錄
  • 每個文檔有一個唯一的ID,類比關(guān)系數(shù)據(jù)庫主鍵ID
  • json對象由filed構(gòu)成,filed類比關(guān)系數(shù)據(jù)庫column

Index: 索引是文檔的容器,一類文檔的集合,存儲在分片Shard上。

  • 索引類比關(guān)系數(shù)據(jù)庫的表
  • 索引的Mapping定義文檔字段類型,類比關(guān)系數(shù)據(jù)庫的schema
  • 索引的Setting定義數(shù)據(jù)在分片上的分布

節(jié)點: ES實例的java進程,節(jié)點名稱在啟動時通過 -Enode.name指定,每個節(jié)點存儲集群狀態(tài)信息。

  • 集群狀態(tài)包括:所有節(jié)點信息、所有的索引及Mapping和Setting信息、分片路由信息
  • 只有master節(jié)點可以修改集群狀態(tài)信息
  • Data Node:保存分片數(shù)據(jù)的節(jié)點
  • Coordinating Node:負責接受客戶端請求并將請求轉(zhuǎn)發(fā)到合適的節(jié)點,并負責匯總結(jié)果;默認情況下每個節(jié)點都會啟到Coordinating Node的職責
  • Hot&Warm Node:由不同配置的Data Node組成,主要為了降低成本,Hot節(jié)點使用高配置,Warm節(jié)點使用低配置

主分片: 在創(chuàng)建索引時指定主分片,解決數(shù)據(jù)水平擴容問題。

  • 類比kafka的分區(qū),一個分片運行的Lucene的實例
  • 在創(chuàng)建索引的時候指定,之后修改需要Reindex
  • 分片數(shù)與節(jié)點數(shù)相關(guān),分片數(shù)過少影響節(jié)點擴容,分片數(shù)過多影響查詢性能
  • 多分片分擔寫壓力,當分片數(shù) > 節(jié)點數(shù),新節(jié)點加入分片會自動分配
  • 分片過多會導致潛在性能,查詢需要從多個分片上檢索數(shù)據(jù),比如:集群總分片控制幾萬內(nèi)
  • 日志單個分片數(shù)據(jù)存儲大小50G內(nèi),搜索類單個分片存儲20G內(nèi),降低merge/rebalancing耗損資源

副本: 主分片的備份,解決數(shù)據(jù)高可用問題。

  • 類比kafka的副本,副本分片可以動態(tài)調(diào)整
  • 增加副本數(shù)除了解決高可用外,可以提高讀取性能,同時增加存儲成本

二、節(jié)點角色與集群狀態(tài)

1.節(jié)點角色

Node官方文檔:

https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-node.html

Elasticsearch7.9通過node.roles配置節(jié)點角色,在配置文件elasticsearch.yml設(shè)置

角色選項

說明

master

node.roles: [ master ]:擁有選舉權(quán)和被選舉權(quán)

master, voting_only

node.roles: [ master, voting_only ]:只有選舉權(quán)沒有被選舉權(quán)

data

node.roles: [ data ]:處理與數(shù)據(jù)相關(guān)的操作CRUD、搜索、聚合

data_content

node.roles: [ data_content ]:冷熱分層架構(gòu),通用節(jié)點,CRUD、搜索、聚合

data_hot

node.roles: [ data_hot ]:冷熱分層架構(gòu),hot節(jié)點承擔快速讀寫操作,可以配置為SSD盤

data_warm

node.roles: [ data_warm ]:冷熱分層架構(gòu),warm節(jié)點索引不定期更新,查詢頻率比熱節(jié)點低,配置低于熱節(jié)點

data_cold

node.roles: [ data_cold ]:冷熱分層架構(gòu),cold節(jié)點只存只讀索引,低配置節(jié)點

ingest

node.roles: [ ingest ]:ingest節(jié)點用于對寫入和查詢的數(shù)據(jù)進行預(yù)處理

Coordinating only node

node.roles: [ ]:協(xié)調(diào)節(jié)點不承擔master職責、不保存數(shù)據(jù)、不預(yù)處理;負責接受請求、分發(fā)請求、匯總結(jié)果

備注:生產(chǎn)環(huán)境建議一個節(jié)點設(shè)置單一角色,有利于更好的性能和根據(jù)角色定制化配置。

2.集群狀態(tài)

衡量集群健康與否的三種狀態(tài):

  • Green:主分片與副本正常分配
  • Yellow:主分片全部正常分配,有副本分片未正常分配
  • Red:有主分片未能正常分配

查看集群狀況:

官方API文檔:

// index API
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/indices.html
// Get index API
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/indices-get-index.html
// cat API
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/cat.html

查詢document總數(shù):

三、常用集群部署架構(gòu)

1.各角色配置

生產(chǎn)環(huán)境架構(gòu)中每個節(jié)點配置單一職責,具體為Master、Data、Ingest、Coordinate的一個,有利于每個角色可以使用不同的機器配置。

  • Master 負責集群狀態(tài)信息管理

生產(chǎn)環(huán)境通常配置3臺

低配置(低CPU核數(shù)、小內(nèi)存、低磁盤)

  • Data節(jié)點負責處理與數(shù)據(jù)相關(guān)的操作

高配置(高CPU核數(shù)、大內(nèi)存、SSD盤)

  • Ingest節(jié)點負責寫入和查詢的數(shù)據(jù)進行預(yù)處理

中配置(高CPU核數(shù)、中內(nèi)存、低磁盤)

  • Coordinate節(jié)點,通常在es大集群中配置,降低Master和Data Nodes的負載,負責接受請求、分發(fā)請求、匯總結(jié)果
  • 應(yīng)對客戶的未知查詢請求,深度聚合可能導致OOM
  • 中高配置(中高CPU核數(shù)、中高內(nèi)存、低磁盤)

2.集群部署架構(gòu)

2.1 水平擴展

備注:集群中存在大量復(fù)雜的查詢時,通過增加協(xié)作節(jié)點提升查詢性能。

2.2 讀寫分離

備注:通過配置不同的讀寫負載均衡,分離讀寫請求,讀請求路由到協(xié)作節(jié)點,寫請求路由到Ingest節(jié)點,協(xié)作節(jié)點和Ingest節(jié)點可以水平擴展。

2.3 冷熱分離

備注:冷熱分離架構(gòu),Hot節(jié)點通過高配置承擔更多的讀寫壓力,冷節(jié)點承擔一定的讀請求,常見于日志類使用場景。

2.4 混合部署

備注:ES集群由data節(jié)點和master節(jié)點構(gòu)成,常見于非生產(chǎn)環(huán)境以及線上讀寫均無壓力的場景。

責任編輯:武曉燕 來源: 瓜農(nóng)老梁
相關(guān)推薦

2022-04-27 09:09:57

架構(gòu)師術(shù)語技術(shù)語言

2020-02-28 11:29:00

ElasticSear概念類比

2010-06-11 10:44:14

UML部署圖

2020-09-10 14:52:01

JVMJava算法

2015-10-30 11:52:09

數(shù)據(jù)挖掘術(shù)語

2017-08-17 18:29:19

云計算私有云公有云

2024-03-26 00:00:01

2010-03-01 16:13:06

Linux磁盤管理命令

2022-02-17 08:53:38

ElasticSea集群部署

2021-08-10 07:27:42

Elasticsear集群開源

2015-08-27 09:46:02

開源對象存儲Swift

2019-03-28 05:21:07

WLANWi-Fi網(wǎng)絡(luò)

2017-06-06 15:24:13

springElasticSear架構(gòu)

2022-03-25 10:22:48

TransformeAI機器學習

2024-04-16 17:52:08

VueReactHooks

2015-07-10 16:20:26

集群

2020-11-17 09:00:00

Kafka架構(gòu)物聯(lián)網(wǎng)

2016-08-04 17:27:57

IPSAN

2021-07-20 08:00:00

集群Elasticsear工具

2021-06-29 07:47:22

文件系統(tǒng)磁盤
點贊
收藏

51CTO技術(shù)棧公眾號