国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

這篇具有很好參考價值的文章主要介紹了ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ElasticSearch集群

集群節(jié)點

???????ELasticsearch的集群是由多個節(jié)點組成的,通過cluster.name設(shè)置集群名稱,并且用于區(qū)分其它的集群,每個節(jié)點通過node.name指定節(jié)點的名稱。

在Elasticsearch中,節(jié)點的類型主要有4種:

  • master節(jié)點

    • 配置文件中node.master屬性為true(默認為true),就有資格被選為master節(jié)點。master節(jié)點用于控制整個集群的操作。比如創(chuàng)建或刪除索引,管理其它非master節(jié)點等。
  • data節(jié)點

    • 配置文件中node.data屬性為true(默認為true),就有資格被設(shè)置成data節(jié)點。data節(jié)點主要用于執(zhí)行數(shù)據(jù)相關(guān)的操作。比如文檔的CRUD(創(chuàng)建(Create),讀取(Retrieve),更新(Update) 、刪除(Delete))。
  • 客戶端節(jié)點

    • 配置文件中node.master屬性和node.data屬性均為false。
    • 該節(jié)點不能作為master節(jié)點,也不能作為data節(jié)點。
    • 可以作為客戶端節(jié)點,用于響應(yīng)用戶的請求,把請求轉(zhuǎn)發(fā)到其他節(jié)點
  • 部落節(jié)點

    • 當一個節(jié)點配置tribe.*的時候,它是一個特殊的客戶端,它可以連接多個集群,在所有連接的集群上執(zhí)行搜索和其他操作。

搭建集群

準備3個服務(wù)器:
192.168.40.137、192.168.4.138、192.168.40.150

所有以下配置需要在配置文件中保持唯一,如果有重復(fù)的,則會報錯

#啟動3個虛擬機,分別在3臺虛擬機上部署安裝Elasticsearch
mkdir -p /opt/elk

#將之前單機安裝的elasearch分發(fā)到其它機器
scp -r elsearch/ root@192.168.40.137:/opt/elk/
scp -r elsearch/ root@192.168.40.138:/opt/elk/

#node01的配置==>192.168.40.150
cluster.name: es-cluster
node.name: node01
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.40.137","192.168.40.138","192.168.40.150"]
cluster.initial_master_nodes: ["node01", "node02", "node03"]
# 最小節(jié)點數(shù)
node.roles: [master,data]
# 跨域?qū)S?/span>
http.cors.enabled: true
http.cors.allow-origin: "*"

#node02的配置:
cluster.name: es-cluster
node.name: node02
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.40.137","192.168.40.138","192.168.40.150"]
cluster.initial_master_nodes: ["node01", "node02", "node03"]
# 最小節(jié)點數(shù)
node.roles: [master,data]

#node03的配置:
cluster.name: es-cluster
node.name: node03
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.40.137","192.168.40.138","192.168.40.150"]
cluster.initial_master_nodes: ["node01", "node02", "node03"]
# 最小節(jié)點數(shù)
node.roles: [master,data]

#分別啟動3個節(jié)點
./elasticsearch

查看集群

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

創(chuàng)建一個索引,其中加粗的為主分片,其余為副本分片
ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

查詢集群狀態(tài):/_cluster/health
響應(yīng)如下:

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

集群中有三種顏色

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

分片和副本

???????為了將數(shù)據(jù)添加到Elasticsearch,我們需要索引(index)——一個存儲關(guān)聯(lián)數(shù)據(jù)的地方。實際上,索引只是一個用來指向一個或多個分片(shards)的“邏輯命名空間(logical namespace)”.

  • 一個分片(shard)是一個最小級別“工作單元(worker unit)”,它只是保存了索引中所有數(shù)據(jù)的一部分。

  • 分片可以是主分片(primary shard)或者是復(fù)制分片(replica shard)。

  • 索引中的每個文檔屬于一個單獨的主分片,所以主分片的數(shù)量決定了索引最多能存儲多少數(shù)據(jù)。

  • 復(fù)制分片只是主分片的一個副本,它可以防止硬件故障導(dǎo)致的數(shù)據(jù)丟失,同時可以提供讀請求,比如搜索或者從別的shard取回文檔。

  • 當索引創(chuàng)建完成的時候,主分片的數(shù)量就固定了,但是復(fù)制分片的數(shù)量可以隨時調(diào)整。

故障轉(zhuǎn)移

將data節(jié)點停止

這里選擇將node01停止:
ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

???????當前集群狀態(tài)為黃色,表示主節(jié)點可用,副本節(jié)點不完全可用,過一段時間觀察,發(fā)現(xiàn)節(jié)點列表中看不到node01,副本節(jié)點分配到了node02和node03,集群狀態(tài)恢復(fù)到綠色。

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

將node01恢復(fù):./bin/elasticsearch

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

可以看到,node01恢復(fù)后,重新加入了集群,并且重新分配了節(jié)點信息。

將master節(jié)點停止

將node02停止,也就是將主節(jié)點停止。

???????從結(jié)果中可以看出,集群對master進行了重新選舉,選擇node03為master。并且集群狀態(tài)會變成黃色,
等待一段時間后,集群狀態(tài)從黃色變?yōu)榱司G色:

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

恢復(fù)node02節(jié)點:

./bin/elasticsearch

重啟之后,發(fā)現(xiàn)node02可以正常加入到集群中,集群狀態(tài)依然為綠色:

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

特別說明:

如果在配置文件中node.roles: [master,data]設(shè)置的不是N/2+1時,會出現(xiàn)腦裂問題,之前宕機的主節(jié)點恢復(fù)后不會加入到集群。

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

分布式文檔

路由

首先,來看個問題:

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

???????如圖所示:當我們想一個集群保存文檔時,文檔該存儲到哪個節(jié)點呢? 是隨機嗎? 是輪詢嗎?實際上,在ELasticsearch中,會采用計算的方式來確定存儲到哪個節(jié)點,計算公式如下:

shard = hash(routing) % number_of_primary_shards

其中:

  • routing值是一個任意字符串,它默認是_id但也可以自定義。
  • 這個routing字符串通過哈希函數(shù)生成一個數(shù)字,然后除以主切片的數(shù)量得到一個余數(shù)(remainder),余數(shù)的范圍永遠是0到number_of_primary_shards - 1,這個數(shù)字就是特定文檔所在的分片

這就是為什么創(chuàng)建了主分片后,不能修改的原因。

文檔的寫操作

???????新建、索引和刪除請求都是寫(write)操作,它們必須在主分片上成功完成才能復(fù)制分片上

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

下面我們羅列在主分片和復(fù)制分片上成功新建、索引或刪除一個文檔必要的順序步驟:

  1. 客戶端給Node 1 發(fā)送新建、索引或刪除請求。
  2. 節(jié)點使用文檔的_id 確定文檔屬于分片0 。它轉(zhuǎn)發(fā)請求到Node 3 ,分片0 位于這個節(jié)點上。
  3. Node 3 在主分片上執(zhí)行請求,如果成功,它轉(zhuǎn)發(fā)請求到相應(yīng)的位于Node 1 和Node 2 的復(fù)制節(jié)點上。當所有的復(fù)制節(jié)點報告成功, Node 3 報告成功到請求的節(jié)點,請求的節(jié)點再報告給客戶端。

???????客戶端接收到成功響應(yīng)的時候,文檔的修改已經(jīng)被應(yīng)用于主分片和所有的復(fù)制分片。你的修改生效了。

搜索文檔

文檔能夠從主分片或任意一個復(fù)制分片被檢索。
ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

下面羅列在主分片或復(fù)制分片上檢索一個文檔必要的順序步驟:

  1. 客戶端給Node 1 發(fā)送get請求。
  2. 節(jié)點使用文檔的_id 確定文檔屬于分片0 。分片0 對應(yīng)的復(fù)制分片在三個節(jié)點上都有。此時,它轉(zhuǎn)發(fā)請求到Node 2 。
  3. Node 2 返回文檔(document)給Node 1 然后返回給客戶端。

對于讀請求,為了平衡負載,請求節(jié)點會為每個請求選擇不同的分片,它會循環(huán)所有分片副本。

???????可能的情況是,一個被索引的文檔已經(jīng)存在于主分片上卻還沒來得及同步到復(fù)制分片上。這時復(fù)制分片會報告文檔未找到,主分片會成功返回文檔。一旦索引請求成功返回給用戶,文檔則在主分片和復(fù)制分片都是可用的。

全文搜索

???????對于全文搜索而言,文檔可能分散在各個節(jié)點上,那么在分布式的情況下,如何搜索文檔呢?

搜索,分為2個階段,

  • 搜索(query)
  • 取回(fetch)

搜索(query)

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

查詢階段包含以下三步:

  1. 客戶端發(fā)送一個search(搜索) 請求給Node 3 , Node 3 創(chuàng)建了一個長度為from+size 的空優(yōu)先級隊
  2. Node 3 轉(zhuǎn)發(fā)這個搜索請求到索引中每個分片的原本或副本。每個分片在本地執(zhí)行這個查詢并且結(jié)果將f返回到一個大小為from+size 的有序本地優(yōu)先隊列里去。
  3. 每個分片返回document的ID和它優(yōu)先隊列里的所有document的排序值給協(xié)調(diào)節(jié)點Node 3 。Node 3 把這些值合并到自己的優(yōu)先隊列里產(chǎn)生全局排序結(jié)果。

取回 fetch

ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移

分發(fā)階段由以下步驟構(gòu)成:文章來源地址http://www.zghlxwxcb.cn/news/detail-514010.html

  1. 協(xié)調(diào)節(jié)點辨別出哪個document需要取回,并且向相關(guān)分片發(fā)出GET 請求。
  2. 每個分片加載document并且根據(jù)需要豐富(enrich)它們,然后再將document返回協(xié)調(diào)節(jié)點。
  3. 一旦所有的document都被取回,協(xié)調(diào)節(jié)點會將結(jié)果返回給客戶端。

到了這里,關(guān)于ElasticSearch集群8.0版本搭建、故障轉(zhuǎn)移的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • MGR 主備集群實現(xiàn)異步連接故障轉(zhuǎn)移

    MGR 主備集群實現(xiàn)異步連接故障轉(zhuǎn)移

    MySQL 8.0.22 開始 ,支持異步連接故障切換機制,在現(xiàn)有主從復(fù)制連接失敗后,自動建立到新主的異步復(fù)制連接。 MySQL 8.0.23 開始 ,異步連接故障切換機制還支持組復(fù)制拓撲,通過自動監(jiān)視組成員身份的更改并區(qū)分主節(jié)點和從節(jié)點,在組復(fù)制主節(jié)點故障選出新主節(jié)點后,自動建

    2024年02月16日
    瀏覽(19)
  • (十二)大數(shù)據(jù)實戰(zhàn)——hadoop集群之HDFS高可用自動故障轉(zhuǎn)移

    (十二)大數(shù)據(jù)實戰(zhàn)——hadoop集群之HDFS高可用自動故障轉(zhuǎn)移

    本節(jié)內(nèi)容主要介紹一下hadoop集群下實現(xiàn)HDFS高可用的自動故障轉(zhuǎn)移,HDFS高可用的自動故障轉(zhuǎn)移主要通過zookeeper實現(xiàn)故障的監(jiān)控和主節(jié)點的切換。自動故障轉(zhuǎn)移為 HDFS 部署增加了兩個新組件:ZooKeeper 和 ZKFailoverController (ZKFC)進程。ZooKeeper 是維護少量協(xié)調(diào)數(shù)據(jù),通知客戶端這些

    2024年02月13日
    瀏覽(29)
  • (十四)大數(shù)據(jù)實戰(zhàn)——hadoop集群一鍵式高可用實現(xiàn)自動故障轉(zhuǎn)移與故障初始化恢復(fù)

    本節(jié)內(nèi)容延續(xù)前面幾節(jié)內(nèi)容,綜合性的實現(xiàn)hadoop集群的高可用以及hadoop集群故障初始化的恢復(fù),通過一個腳本,實現(xiàn)整個集群的高可用啟停與狀態(tài)觀測。主要是zookeeper、hdfs、yarn等服務(wù)的高可用集群的一鍵式啟停。 hadoop高可用集群整體規(guī)劃 hadoop高可用集群服務(wù)規(guī)劃 hadoop101

    2024年02月13日
    瀏覽(22)
  • (十三)大數(shù)據(jù)實戰(zhàn)——hadoop集群之YARN高可用實現(xiàn)自動故障轉(zhuǎn)移

    (十三)大數(shù)據(jù)實戰(zhàn)——hadoop集群之YARN高可用實現(xiàn)自動故障轉(zhuǎn)移

    本節(jié)內(nèi)容是關(guān)于hadoop集群下yarn服務(wù)的高可用搭建,以及其發(fā)生故障轉(zhuǎn)移的處理,同樣需要依賴zookeeper集群的實現(xiàn),實現(xiàn)該集群搭建時,我們要預(yù)先保證zookeeper集群是啟動狀態(tài)。yarn的高可用同樣依賴zookeeper的臨時節(jié)點及監(jiān)控,實現(xiàn)服務(wù)的故障轉(zhuǎn)移。其ResourceManager的節(jié)點任務(wù)同

    2024年02月14日
    瀏覽(19)
  • SQL Server2017搭建故障轉(zhuǎn)移群集

    SQL Server2017搭建故障轉(zhuǎn)移群集

    目錄 一、搭建流程 二、創(chuàng)建域控 三、把集群規(guī)劃的節(jié)點加域,并將域管理員設(shè)置為本地管理員 四、 安裝故障轉(zhuǎn)移群集功能 五、驗證配置 六、創(chuàng)建群集 七、 以本地管理員賬號安裝.Net FrameworkSqlServer 八、以本地管理員賬號安裝SQL Server2017 九、修改SQL服務(wù)的啟動賬戶并啟動

    2023年04月18日
    瀏覽(86)
  • 小白到運維工程師自學(xué)之路 第四十四集 (mariadb高可用集群故障轉(zhuǎn)移)

    小白到運維工程師自學(xué)之路 第四十四集 (mariadb高可用集群故障轉(zhuǎn)移)

    ????????故障轉(zhuǎn)移是指在集群中某個節(jié)點發(fā)生故障時,自動將服務(wù)轉(zhuǎn)移到其他正常節(jié)點上的 過程。在MariaDB高可用集群中,通常使用主從復(fù)制的方式來實現(xiàn)故障轉(zhuǎn)移。其中一個 節(jié)點被指定為主節(jié)點,負責(zé)處理所有的寫操作和部分讀操作,其他節(jié)點作為從節(jié)點,負 責(zé)復(fù)制主

    2024年02月11日
    瀏覽(16)
  • ElasticSearch入門教程--集群搭建和版本比較

    ElasticSearch入門教程--集群搭建和版本比較

    Elasticsearch 集群有一個唯一的名字,默認就是”elasticsearch”。,一個節(jié)點只能通過指定某個集群的名字,來加入這個集群。 集群搭建如下: 復(fù)制ES的安裝目錄三份:esnode-1,esnode-2,esnode-3,分別編輯config/elasticsearch.yml 配置文件 node-1: node-2: node-3: 2、分別啟動,瀏覽器訪問 http://

    2024年02月16日
    瀏覽(27)
  • ElasticSearch 7.6.2版本集群搭建及踩坑

    ElasticSearch 7.6.2版本集群搭建及踩坑

    服務(wù)器說明 本次演示采用三臺RockyLinux 8.5版本服務(wù)器 服務(wù)器 IP 備注 es-master 172.16.7.11 主節(jié)點 es-node01 172.16.7.5 01節(jié)點 es-node02 172.16.7.13 02節(jié)點 內(nèi)核版本 修改系統(tǒng)名 配置hosts 所有服務(wù)器配置一些/etc/hosts 安裝JDK 創(chuàng)建用戶 下載軟件 ES中文社區(qū)下載連接: 挑一個自己覺得穩(wěn)定的版本

    2023年04月27日
    瀏覽(23)
  • Elasticsearch7.8.0版本入門——Elasticsearch7.8.0版本和Kibana7.8.0版本的下載、安裝(win10環(huán)境)

    Elasticsearch7.8.0版本入門——Elasticsearch7.8.0版本和Kibana7.8.0版本的下載、安裝(win10環(huán)境)

    1.1、官網(wǎng)下載地址 Elasticsearch下載地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 1.2、下載步驟 進入下載頁面,選擇需要下載的【版本】,如下圖: 下載對應(yīng)系統(tǒng)環(huán)境的版本,如下圖: 1.3、安裝步驟( 需要jdk11及以上版本支持 ) Windows 版的 Elasticsearch 的安裝很簡單,解

    2024年02月16日
    瀏覽(21)
  • Elasticsearch7.8.0版本入門——Elasticsearch指定JDK11版本

    Elasticsearch7.8.0版本入門——Elasticsearch指定JDK11版本

    本地安裝jdk1.8版本后,安裝Elasticsearch7.8.0需要jdk11及以上版本支持 下載jdk11解壓即用安裝包,解壓到具體磁盤目錄 在系統(tǒng)變量中增加了一個 ES_JDK, 指向了剛剛JDK11 的目錄 ,如下圖: 進入elasticsearch/bin目錄下,找到 elasticsearch-env 這個文件,把【JAVA_HOME】換成剛剛系統(tǒng)變量中配

    2024年02月12日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包