1. 程式人生 > >Elasticsearch叢集運維

Elasticsearch叢集運維

1、ES滾動重啟:

#準備工作:
##提前開啟如下資訊,有些API是需要觀察的各項指標(出現問題則停止重啟),其餘是配合檢查的API:
##檢視叢集UNASSIGEN shards 原因
curl http://0.0.0.0:9200/_cluster/allocation/explain?pretty

###叢集配置
curl http://0.0.0.0:9200/_cluster/settings?pretty

###pending-tasks
curl http://0.0.0.0:9200/_cluster/pending_tasks?pretty

###叢集健康
curl http://0.0.0.0:9200/_cluster/health?pretty


#重啟client-node組節點
#start
步驟1:關閉其中一個client節點
步驟2:重啟節點
步驟3:檢查節點是否加入叢集
步驟4:重複步驟2-3重啟其他節點
#end

#重啟mater-node節點
#start
步驟1:明確master節點IP
步驟2:關閉master-node組的一個非master節點
步驟3:重啟節點
步驟4:檢查節點是否加入叢集(確保已經加入叢集)
步驟5:重複步驟2-4,重啟另外的master-node組的一個非master節點
步驟6:關閉master節點
步驟7:重啟master節點
##在master節點選舉過程中,叢集功能不可用(包括了:索引功能、search功能,API功能堵塞等),叢集並不會立即選舉出master節點(預設進行選舉的時間為3s, 由於網路的問題,往往將master選舉的時間延長)
步驟8:檢查叢集裝填,檢查節點是否加入叢集。
##當master選舉出來,叢集功能將全部正常。
#end

#重啟data-node節點
#start
步驟1:禁用分片分配
curl -X PUT http://0.0.0.0:9200/_cluster/settings?pretty -d '{"transient": {"cluster.routing.allocation.enable": "new_primaries"}}'
##禁用分片分配期間,叢集新建索引將無法分配副本分片,允許新建索引主分片的分配
步驟2:執行同步重新整理
curl -XPOST "http://0.0.0.0:9200/_flush/synced?pretty"
##對於在此刻不在更新的索引,此操作將通過synced值來確認主副分片是否資料一致(加快了分片加入叢集的時間);對於在此刻索引發生變化的分片,此操作對節點加入叢集的索引恢復沒有作用
步驟3:關閉一個data-node節點
步驟4:重啟節點
步驟5:檢查節點是否加入叢集
步驟6:啟用分片分配
curl -X PUT http://0.0.0.0:9200/_cluster/settings?pretty -d '{"transient": {"cluster.routing.allocation.enable": "all"}}'
步驟7:檢查叢集狀態是否為green
##在啟用了分片分配後,UNASSIGEN shards會瞬間減少(不會瞬間減少為0,因為在大的ES叢集中,每個節點都會有在更新的索引分片);之後會出現一些initializing shards,這部分分片會需要等待一段時間才會減少為0(分片同步過程中)
步驟8:重複步驟3-7,重啟其他節點
步驟9:節點全部重啟完畢後,檢查叢集配置,確保沒有禁用分片分配
#end

參考資料:

ES官方重啟教程 https://www.elastic.co/guide/en/elasticsearch/reference/1.4/cluster-nodes-shutdown.html#_rolling_restart_of_nodes_full_cluster_restart

2、ES常用設定:
ES cluster的settings:

{"persistent":{"cluster.routing.allocation.node_concurrent_recoveries": 8}}
允許在節點上併發分片恢復的個數(寫和讀),只控制“恢復”過程的併發數,對叢集“重平衡”和其他情況下的併發數沒有影響。

{"persistent":{"cluster.routing.allocation.node_initial_primaries_recoveries": 16}}
控制節點重啟後有多少併發數從本地恢復未分配的主分片。

{"persistent":{"indices.recovery.max_bytes_per_sec": "200mb"}}

設定索引恢復時每秒位元組數。

{"transient":{"cluster.routing.allocation.cluster_concurrent_rebalance": 4}}
允許在叢集上併發分片重平衡的個數,只控制“重平衡”過程的併發數,對叢集“恢復”和其他情況下的併發數沒有影響。

{"transient":{"cluster.routing.allocation.cluster_concurrent_rebalance": 0}}
禁用叢集“rebalance”

{"transient":{"cluster.routing.allocation.cluster_concurrent_rebalance": null}}
啟用叢集“rebalance”

#調整叢集恢復併發數為4
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d'{"transient":{"cluster.routing.allocation.node_concurrent_recoveries": 4}}'
#取消設定,叢集恢復併發數為預設
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d'{"transient":{"cluster.routing.allocation.node_concurrent_recoveries": null}}'


#通過IP,排除叢集中的某個節點:節點IP:10.100.0.11
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.exclude._ip":"10.100.0.11"}}'
#通過IP,排除叢集中的多個節點:節點IP:10.10.0.11,10.100.0.12
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.exclude._ip":"10.100.0.11,10.100.0.12"}}'
#取消節點排除的限制
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.exclude._ip": null}}'


#調整資料節點的低水位值為600gb
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.disk.watermark.low":"600gb"}}'
#調整資料節點的高水位值為300gb
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.disk.watermark.high":"300gb"}}'
#取消使用者設定,叢集恢復這一項的預設配置
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.disk.watermark.low": null}}'
curl -XPUT http://<domain>:<port>/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.disk.watermark.low": null}}'

相關推薦

攜程機票ElasticSearch叢集馴服記

講師介紹 許鵬,攜程機票大資料基礎平臺Leader,負責平臺的構建和運維。深度掌握各種大資料開源產品,如Spark、Presto及Elasticsearch。著有《Apache Spark原始碼剖析》一書。 今天跟大家分享的是攜程機票ElasticSearch叢集的規劃和具體設定,內容相對細緻,同

Elasticsearch叢集

1、ES滾動重啟: #準備工作: ##提前開啟如下資訊,有些API是需要觀察的各項指標(出現問題則停止重啟),其餘是配合檢查的API: ##檢視叢集UNASSIGEN shards 原因 curl http://0.0.0.0:9200/_cluster/allocation/explain?pr

PB級大規模Elasticsearch叢集與調優實踐

導語 | 騰訊雲Elasticsearch 被廣泛應用於日誌實時分析、結構化資料分析、全文檢索等場景中,本文將以情景植入的方式,向大家介紹與騰訊雲客戶合作過程中遇到的各種典型問題,以及相應的解決思路與方法,希望與大家一同交流。文章作者:bellen,騰訊雲大資料研發工程師。 ​ 一、背景 &nb

Hadoop----叢集(持續更新...)

前言 本篇介紹Hadoop的一些常用知識。要說和網上其他manual的區別,那就是這是筆者寫的一套成體系的文件,不是隨心所欲而作。 常用HDFS命令 hadoop fs -ls URI hadoop fs -du -h URI hadoo

rabbitmq叢集一點總結

說明:以下操作都以三節點叢集為例,機器名標記為機器A、機器B、機器C,如果為雙節點忽略機器C,如果為各多節點則與機器C操作相同 一、rabbitmq叢集必要條件 1.1、繫結實體ip,即ip a所能查詢到的繫結到網絡卡上的ip,以下是繫結方法: 1 #編輯配置路徑 /etc/rabbitmq/ra

Rancher 2.1全面釋出,優化Kubernetes叢集

Rancher 2.1已於近日全面釋出! Rancher 2.1是自去年九月Rancher Labs全面擁抱Kubernetes、釋出全新里程碑產品Rancher 2.0——開源的企業級Kubernetes管理平臺之後,最為重大的版本更新。  

etcd 叢集實踐

【編者的話】etcd 是 Kubernetes 叢集的資料核心,最嚴重的情況是,當 etcd 出問題徹底無法恢復的時候,解決問題的辦法可能只有重新搭建一個環境。因此圍繞 etcd 相關的運維知識就比較重要,etcd 可以容器化部署,也可以在宿主機自行搭建,以下內容是通用的。 叢集的備份和恢復

Elasticsearch常用命令收集

elasticsearch運維常用命令 elasticsearch記憶體設定: export ES_HEAP_SIZE=10g 或者啟動的時候設定引數,確保Xmx和Xms大小相等: ./bin/elasticsearch -Xmx10g -Xms10g 啟動程序: ./el

Hbase叢集及應用效能優化總結(hbase1.20+)

(一). 作業系統              1. 足夠大的記憶體       2. 作業系統64位,jdk64位       3. 設定li

【openshift 學習筆記】第十三章 叢集管理

一. 安裝配置cockpit 在叢集所有節點安裝 cockpit 以及 docker kubernetes 外掛yum install -y cockpit cockpit-docker cockpit

阿里巴巴大規模神龍裸金屬 Kubernetes 叢集實踐

作者 | 姚捷(嘍哥)阿里雲容器平臺叢集管理高階技術專家 本文節選自《不一樣的 雙11 技術:阿里巴巴經濟體雲原生實踐》一書,點選即可完成下載。 導讀:值得阿里巴巴技術人驕傲的是 2019 年阿里巴巴 雙11 核心系統 100% 以雲原生的方式上雲,完美支撐了 54.4w 峰值流量以

ElasticSearch 叢集的規劃部署與

> **公號:碼農充電站pro** > **主頁:** ### 1,常見的叢集部署方式 ES 有以下不同型別的節點: - **Master**(eligible)節點:只有 Master eligible 節點可以成為 Master 節點。 - Master 節點用於維護索引資訊和叢集狀態。 -

Elasticsearch 學習之攜程機票ElasticSearch集群馴服記(強烈推薦)

使用情況 strong 簡單 而且 第一個 並不是 5.x ber als 轉自: https://mp.weixin.qq.com/s/wmSTyIGCVhItVNPHcH7nsA 一、整體架構 為什麽采用ES作為搜索引擎呢?在做任何事情的時候,不要一上來就急

高效最佳實踐(03):Redis叢集技術及Codis實踐 (轉)

專欄介紹 “高效運維最佳實踐”是InfoQ在2015年推出的精品專欄,由觸控科技運維總監蕭田國撰寫,InfoQ總編輯崔康策劃。 前言 誠如開篇文章所言,高效運維包括管理的專業化和技術的專業化。前兩篇我們主要在說些管理相關的內容,本篇說一下技術專業化。希望讀者朋友們能適應這個轉

《阿里巴巴MongoDB4.0高階實戰:基於Java Spring Boot 2.0》、監控、聚合、叢集、監控等高階面試題

《阿里巴巴MongoDB4.0高階實戰》阿里巴巴技術大牛 資深專家P9葉翔、專家徐雷.  NoSQL排名第一!最流行的NoSQL資料庫;谷歌、阿里巴巴、螞蟻金服、騰訊、百度等一線網際網路公司必備技能。 本系列課程涵蓋:MongoDB入門命令、管理、聚合分析、核心架構、資料庫管理、匯入匯出、索引、

[] 高效能負載均衡叢集

1.Nginx+Tomcat搭建高效能負載均衡叢集 https://blog.csdn.net/wang379275614/article/details/47778201   2.使用Tomcat-redis-session-manager來實現Tomcat叢集部署中的Ses

Kubernetes實戰 高可用叢集搭建,配置,與應用

1-1 K8S導學 1-2 搭建K8S叢集步驟和要點介紹 1-3 搭建三節點Ubuntu環境 1-4 安裝容器引擎 1-5 下載Kubeadm、node元件和命令列工具 1-6 向叢集中加入worker節點 1-7 安裝dashboard和heapste

ElasticSearch - 環境架設、基本

ElasticSearch環境架設 先下載想要的版本ES ElasticSearch : https://www.elastic.co/downloads/elasticsearch 確保每臺機器都升級 jdk 到

網站技術與實踐之叢集架構規劃

叢集架構規劃和設計只要是涉及到高併發高流量的專案,基本上都需要。 本文主要圍繞兩個方面,一個是IDC的規劃和選擇,另一個是CDN。 一、IDC的規劃和選擇 IDC的選擇是網站上線前要做的最重要的事情之一。哪怕發展初期只有一臺伺服器,選擇一個位置不錯的機房託管,都會助益良多。 也許有人會問IDC是什麼?

ELK批量刪除索引及叢集相關操作記錄-筆記

  線上部署了ELK+Redis日誌分析平臺環境, 隨著各類日誌資料來源源不斷的收集, 發現過了一段時間之後, ELK檢視會原來越慢, 重啟elasticsearch伺服器節點之前同步時間也會很長,  這是因為長期以來ELK收集的索引沒有刪除引起的! 以下是ELK批量刪除索引的操作記錄: