如何监控impala的数据_impala 1.1版本不稳定,监控脚本

这段代码定义了一个用于监控远程主机上Impala、DataNode和NodeManager服务状态的脚本。当服务状态异常时,脚本会自动重启对应服务,并记录状态到字典中。此外,还有一个循环任务不断执行监控,并将结果写入文件。脚本还包含了一个用于重新启动Impala服务的函数。
摘要由CSDN通过智能技术生成

#!/usr/bin/env python

import commands

import time

monitor_host = [

'dn1.h.cc.com',

'dn2.h.cc.com',

'dn3.h.cc.com',

]

status_dic = {

}

def monitor_cmd():

for h in monitor_host:

print “########################## %s start time: %s ###########################\n\n” %(h,time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime()))

impala_status,impala_result = commands.getstatusoutput(“ssh -p 22 %s ‘ps aux | grep impala|grep -v grep’” %h)

if impala_status != 0:

commands.getstatusoutput(“ssh -p 22 %s ‘/etc/init.d/impala-server restart’” %h)

status_dic['%s_impala_status' %h] = impala_status

else:

status_dic['%s_impala_status' %h] = impala_status

dn_status,dn_result = commands.getstatusoutput(“ssh -p 22 %s ‘ps aux | grep datanode|grep -v grep’” %h)

if dn_status != 0:

commands.getstatusoutput(“ssh -p 22 %s ‘/etc/init.d/hadoop-hdfs-datanode restart’” %h)

status_dic['%s_dn_status' %h] = dn_status

else:

status_dic['%s_dn_status' %h] = dn_status

nm_status,nm_result = commands.getstatusoutput(“ssh -p 22 %s ‘ps aux | grep nodemanager|grep -v grep’” %h)

if nm_status != 0:

commands.getstatusoutput(“ssh -p 22 %s ‘/etc/init.d//etc/init.d/hadoop-yarn-nodemanager restart’” %h)

status_dic['%s_nm_status' %h] = nm_status

else:

status_dic['%s_nm_status' %h] = nm_status

print impala_result,”\n\n”, dn_result, “\n\n”, nm_result,”\n\n”

print “########################## %s end time: %s ###########################\n\n” %(h,time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime()))

time.sleep(10)

def loopTask():

for i in range(1,3):

monitor_cmd()

print status_dic,

def reimpala():

commands.getstatusoutput(‘/root/cron_impala_control.sh’)

while True:

loopTask()

for k,v in status_dic.items():

if v == 0:

continue

else:

f = open(‘hadoop_status.txt’,’w’)

f.write(‘%s status faild!!’ %k)

f.close()

reimpala()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值