在企業生產中,集群一旦運行,是要儘可能的將損失降到最低,現在所有的大數據技術都有HA,spark的、Hadoop的、HBase的等等, HA分冷備和熱備,熱備是集群自帶的,冷備就是硬體的。 這樣一種情況:晚上了,人睡著了,突然的大數據量來了,nameNode、master崩了,HA啟動了另一臺備用節 ...
在企業生產中,集群一旦運行,是要儘可能的將損失降到最低,現在所有的大數據技術都有HA,spark的、Hadoop的、HBase的等等,
HA分冷備和熱備,熱備是集群自帶的,冷備就是硬體的。
這樣一種情況:晚上了,人睡著了,突然的大數據量來了,nameNode、master崩了,HA啟動了另一臺備用節點,然而數據量依然很大,另一臺也崩了,好吧集群廢了?
咋辦?
這就是冷備的需要,進程掉了,在伺服器運行的情況下:
有一種機制可以啟動進程服務,crontab+shell
五分鐘之內檢查進程情況,沒有啟動(時間自定義)
#!/bin/bash # author:loong ab=`jps | awk '{print $2=="RunJar"}'` res=0 OLD_IFS="$IFS" IFS=" " arr=($ab) IFS="$OLD_IFS" for s in ${arr[@]} do if [ "$s" = "1" ] then ((res++)) fi done echo $res if [ $res \> 0 ] then echo "進程存在" else echo "進程不存在" hive --service metastore & fi
本腳本以hive進程測試成功
是想,生產環境下,上述情況是不是可以緩解,腳本寫日誌文件處理是不是也可以。