Hbase 自动重启脚本

前端时间测试 HbaseRegions 总是挂掉,在查找原因的同时,为了防止半夜挂掉而导致数据出问题,遂打算编写个脚本,让其在检测到 HbaseRegions 挂掉时,能自动进行重启。即使不进行重启操作,也权当一个监控工具吧,可以结合《如何自定义 nagios 监控》和《 nagios 实现 QQ群 告警》对 HbaseRegions 进行监控。

脚本内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
while true
do
#通过zookeeper信息获取HbaseRegions状态,并统计HbaseRegions存活个数。
n=`curl -s http://127.0.0.1:60910/zk.jsp|sed -n '/Region servers:/,/hbase\/replication:/p'|grep slave|wc -l`

#进行判断,若存活数为0,则进行相关操作。
if (( $n == 0 ))
then
echo -e "\n`date`\nhbase已停止!\n"
echo -e "\n正在重启……\n"
cd $HBASE_HOME/bin;
./stop-hbase.sh;
sleep 5;
./start-hbase.sh;
echo -e "\nhbase重启完成!\n"
fi

sleep 5;
done