自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 架構(gòu)
ES實(shí)例的java進(jìn)程,節(jié)點(diǎn)名稱在啟動時通過 -Enode.name指定,每個節(jié)點(diǎn)存儲集群狀態(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é)點(diǎn): ES實(shí)例的java進(jìn)程,節(jié)點(diǎn)名稱在啟動時通過 -Enode.name指定,每個節(jié)點(diǎn)存儲集群狀態(tài)信息。

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

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

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

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

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

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

1.節(jié)點(diǎn)角色

Node官方文檔:

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

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

角色選項(xiàng)

說明

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é)點(diǎn),CRUD、搜索、聚合

data_hot

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

data_warm

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

data_cold

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

ingest

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

Coordinating only node

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

備注:生產(chǎn)環(huán)境建議一個節(jié)點(diǎn)設(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é)點(diǎn)配置單一職責(zé),具體為Master、Data、Ingest、Coordinate的一個,有利于每個角色可以使用不同的機(jī)器配置。

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

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

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

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

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

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

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

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

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

2.1 水平擴(kuò)展

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

2.2 讀寫分離

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

2.3 冷熱分離

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

2.4 混合部署

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

責(zé)任編輯:武曉燕 來源: 瓜農(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ù)語

2024-03-26 00:00:01

2017-08-17 18:29:19

云計(jì)算私有云公有云

2010-03-01 16:13:06

Linux磁盤管理命令

2022-02-17 08:53:38

ElasticSea集群部署

2021-08-10 07:27:42

Elasticsear集群開源

2019-03-28 05:21:07

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

2015-08-27 09:46:02

開源對象存儲Swift

2017-06-06 15:24:13

springElasticSear架構(gòu)

2022-03-25 10:22:48

TransformeAI機(jī)器學(xué)習(xí)

2024-04-16 17:52:08

VueReactHooks

2015-07-10 16:20:26

集群

2021-07-20 08:00:00

集群Elasticsear工具

2020-11-17 09:00:00

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

2016-08-04 17:27:57

IPSAN

2022-01-19 16:59:43

智能駕駛汽車
點(diǎn)贊
收藏

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