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

ElasticSearch自愈之節(jié)點丟失恢復

數據庫 其他數據庫
ElasticSearch集群由于業(yè)務壓力過大,有時會OOM,導致集群節(jié)點crash掉,在無主機資源增加時,該腳本解決了在收到告警而手工拉起ES節(jié)點的困惑,對業(yè)務用戶來說也相對透明,通過該腳本受到一定的啟發(fā),在對于現網環(huán)境,可以不斷的對特殊場景進行自愈,以保障運維的穩(wěn)定性。

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!

背 景

Elasticsearch是一個開源的、分布式的、高可用的、實時的搜索和分析引擎,它有助于快速收集、存儲和分析大量數據,廣泛應用于大規(guī)模數據的實時搜索和分析。

而在現實運維中,隨著業(yè)務的擴展,數據量不斷增大,為保障業(yè)務性能,ES集群不斷的擴容節(jié)點,擴大集群,有的集群多達上百個節(jié)點,雖集群內部具有副本冗余機制,但由于PCSERVER的不穩(wěn)定性(磁盤故障、網絡故障、硬件BUG、內核、內部錯誤等)或集群的性能壓力或程序Bug,可能會導致集群節(jié)點丟失。

目前我們運維已經做到7*24短信告警監(jiān)控,只是在大半夜,有可能無法即時收到短信進行恢復,為能即時恢復集群狀態(tài),進而對節(jié)點丟失場景研究,并編寫自動化腳本,定義autocron task自動恢復集群。

下面是我們的一個業(yè)務的集群,由于業(yè)務壓力,經常性會丟失1~2個節(jié)點,并基于該場景做自動恢復。

場景介紹

2.1 腳本設計思路

圖片

  • 集群節(jié)點數統(tǒng)計,對節(jié)點的數量統(tǒng)計,節(jié)點數不同則設置不同的值,根據實際情況設置;
  • 對剩余節(jié)點判斷,小于3則對節(jié)點直接拉起;
  • 等待5分鐘,可根據實際情況調整,對集群狀態(tài)進行判斷。

目前該場景權適用于部分節(jié)點丟失的情況,由于考慮主機硬件問題導致的所有節(jié)點故障,存在主機PING告警,在主機重啟后,進行判斷后再拉起,在未來可對這一塊進一步調整優(yōu)化。

2.2 具體腳本

#!/bin/bas
MONITOR_HOME="/app/check_es"
app_home="/app"
hostip="xxxxxxxx"
node="node_xxxxxxx_9200"
node_number1=`curl -u username:xxxxxxxx http://xxxxxxxx:9200/_cat/nodes|grep 'xxxxxxxx'|wc -l`
if [ ${node_number1} -ne 5 ];then
curl -u username:xxxxxxxx http://xxxxxxxx:9200/_cat/nodes?v |grep 'xxxxxxxx'|awk '{print $10}' > $MONITOR_HOME/now.txt
grep -vwf $MONITOR_HOME/now.txt $MONITOR_HOME/last.txt > $MONITOR_HOME/check.txt
if [[ ${node_number1} < 3 ]];then
cd $MONITOR_HOME
./mess.sh -b "`date` $hostip ERROR: 丟失節(jié)點數超過3個,請檢查" -t 18974885939,1536793399
else
if [[ ${node_number1} > 2 ]];then
for i in `cat ${MONITOR_HOME}/check.txt`
do
echo "`date` 節(jié)點${i}異常,準備重啟" >> ${MONITOR_HOME}/error.log
if [ ${i} = ${node} ];then
pid=`ps -ef |grep ${i} |grep -v grep|grep -v controller|grep -v node_${hostip}_9201|grep -v node_${hostip}_9202|grep -v node_${hostip}_9203|grep -v node_${hostip}_9204|awk '{print $2}'`
else
pid=`ps -ef |grep ${i} |grep -v grep|grep -v controller|awk '{print $2}'`
fi
if [ !${pid} ];then

kill -9 ${pid}
cd ${app_home}/${i}/elasticsearch
./bin/elasticsearch -d
else
cd ${app_home}/${i}/elasticsearch
./bin/elasticsearch -d
fi
done
sleep 300s
node_number2=`curl -u username:xxxxxxxx http://xxxxxxxx:9200/_cat/nodes|grep 'xxxxxxxx'|wc -l`
node_status=`curl -u username:xxxxxxxx http://xxxxxxxx:9200/_cat/health|awk '{print $4}'`
if [ ${node_number2} -ne 5 ];then
echo "節(jié)點未恢復,請檢查"
else
if [[ ${node_status} = "red" ]];then
echo "節(jié)點已重新加入集群,正在恢復"
else
echo "集群已恢復"
fi
fi
fi
fi
fi

自愈帶來的成效:

ElasticSearch集群由于業(yè)務壓力過大,有時會OOM,導致集群節(jié)點crash掉,在無主機資源增加時,該腳本解決了在收到告警而手工拉起ES節(jié)點的困惑,對業(yè)務用戶來說也相對透明,通過該腳本受到一定的啟發(fā),在對于現網環(huán)境,可以不斷的對特殊場景進行自愈,以保障運維的穩(wěn)定性。

責任編輯:武曉燕 來源: IT那活兒
相關推薦

2010-07-20 15:01:39

SQLServer日志

2018-05-04 09:25:47

2010-04-19 15:53:20

Oracle重做日志

2011-03-04 14:59:16

Raidoracle數據庫

2022-12-28 08:16:16

metric聚合java

2018-01-24 09:03:45

恢復丟失刪除

2010-04-12 14:25:04

Oracle備份

2011-05-24 10:26:12

Oracle數據庫日志文件

2011-03-22 16:20:19

恢復數據庫

2024-06-26 19:14:53

2017-06-06 15:24:13

springElasticSear架構

2010-04-06 10:11:11

Oracle備份

2011-03-23 09:31:26

歸檔日志文件數據庫恢復

2018-06-15 10:07:32

Windows 10Windows回收站

2018-04-28 14:55:41

Windows 10升級恢復

2022-02-25 08:02:41

集群ceph16集群恢復

2010-05-06 09:42:28

Oracle表空間

2014-10-08 09:51:12

ios8漏洞文件安全

2023-08-25 09:39:38

數據庫Oracle

2010-06-30 10:55:13

SQL Server日
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av男人的天堂av | 亚洲小视频 | 国产区在线看 | 精品国产久 | 亚洲国产一区视频 | 一区二区在线 | 久久综合成人精品亚洲另类欧美 | 精品毛片 | 99久久婷婷国产综合精品电影 | 精品国产乱码久久久久久蜜柚 | 久久在线看 | 91精品国产91久久久久久三级 | 国产日韩一区二区 | 99国产视频 | 国产三级日本三级 | 中文字幕二区 | 欧美成人一区二区三区 | 久草视频观看 | 欧美综合国产精品久久丁香 | 9999在线视频 | 婷婷综合久久 | 日本h片在线观看 | 日韩激情在线 | 奇米影视在线 | 亚洲av一级毛片 | 欧美精品福利视频 | 国产精品久久久久一区二区三区 | 国产精品久久二区 | 天天色综网 | 亚洲综合伊人 | 国产精品久久久久久一区二区三区 | 欧美中文一区 | 日本a∨精品中文字幕在线 亚洲91视频 | 老司机67194精品线观看 | 国产成人精品久久久 | 国产黄色在线观看 | 超碰在线观看97 | 欧美久久久久久 | 国产69精品久久久久777 | 国产剧情一区 | 国产精品二区三区 |