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

ElasticSearch自愈之節(jié)點(diǎn)丟失恢復(fù)

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

點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!??!

背 景

Elasticsearch是一個(gè)開(kāi)源的、分布式的、高可用的、實(shí)時(shí)的搜索和分析引擎,它有助于快速收集、存儲(chǔ)和分析大量數(shù)據(jù),廣泛應(yīng)用于大規(guī)模數(shù)據(jù)的實(shí)時(shí)搜索和分析。

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

目前我們運(yùn)維已經(jīng)做到7*24短信告警監(jiān)控,只是在大半夜,有可能無(wú)法即時(shí)收到短信進(jìn)行恢復(fù),為能即時(shí)恢復(fù)集群狀態(tài),進(jìn)而對(duì)節(jié)點(diǎn)丟失場(chǎng)景研究,并編寫(xiě)自動(dòng)化腳本,定義autocron task自動(dòng)恢復(fù)集群。

下面是我們的一個(gè)業(yè)務(wù)的集群,由于業(yè)務(wù)壓力,經(jīng)常性會(huì)丟失1~2個(gè)節(jié)點(diǎn),并基于該場(chǎng)景做自動(dòng)恢復(fù)。

場(chǎng)景介紹

2.1 腳本設(shè)計(jì)思路

圖片

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

目前該場(chǎng)景權(quán)適用于部分節(jié)點(diǎn)丟失的情況,由于考慮主機(jī)硬件問(wèn)題導(dǎo)致的所有節(jié)點(diǎn)故障,存在主機(jī)PING告警,在主機(jī)重啟后,進(jìn)行判斷后再拉起,在未來(lái)可對(duì)這一塊進(jìn)一步調(diào)整優(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é)點(diǎn)數(shù)超過(guò)3個(gè),請(qǐng)檢查" -t 18974885939,1536793399
else
if [[ ${node_number1} > 2 ]];then
for i in `cat ${MONITOR_HOME}/check.txt`
do
echo "`date` 節(jié)點(diǎn)${i}異常,準(zhǔn)備重啟" >> ${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é)點(diǎn)未恢復(fù),請(qǐng)檢查"
else
if [[ ${node_status} = "red" ]];then
echo "節(jié)點(diǎn)已重新加入集群,正在恢復(fù)"
else
echo "集群已恢復(fù)"
fi
fi
fi
fi
fi

自愈帶來(lái)的成效:

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

責(zé)任編輯:武曉燕 來(lái)源: IT那活兒
相關(guān)推薦

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數(shù)據(jù)庫(kù)

2022-12-28 08:16:16

metric聚合java

2018-01-24 09:03:45

恢復(fù)丟失刪除

2010-04-12 14:25:04

Oracle備份

2011-05-24 10:26:12

Oracle數(shù)據(jù)庫(kù)日志文件

2011-03-22 16:20:19

恢復(fù)數(shù)據(jù)庫(kù)

2017-06-06 15:24:13

springElasticSear架構(gòu)

2010-04-06 10:11:11

Oracle備份

2024-06-26 19:14:53

2011-03-23 09:31:26

歸檔日志文件數(shù)據(jù)庫(kù)恢復(fù)

2018-06-15 10:07:32

Windows 10Windows回收站

2018-04-28 14:55:41

Windows 10升級(jí)恢復(fù)

2022-02-25 08:02:41

集群ceph16集群恢復(fù)

2010-05-06 09:42:28

Oracle表空間

2023-08-25 09:39:38

數(shù)據(jù)庫(kù)Oracle

2010-06-30 10:55:13

SQL Server日

2014-10-08 09:51:12

ios8漏洞文件安全
點(diǎn)贊
收藏

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