Hadoop集群datanode监控

查询了网上datanode的监控,都是比较复杂的,涉及底层源码,需要编写JAVA取获取状态的,我也不会。

我的要求很简单,即jps查一下,如果可以看到datanode、nodemanger进程,则认为节点正常。

#!/bin/bash
############################################################################################
# Script Name:    datanodes_alarm.sh 
# Script Desc:    Hadoop集群datanodes状态监控,循环登陆主机执行jps命令,获取节点状态
#                 crontab 配置,一小时一次:6 * * * * . /home/hadoop/lyc/datanodes_alarm.sh>>/home/hadoop/lyc/datanodes_alarm.log 2>&1 
# Inputs:          
# Author:         林育驰
# Date:           2017-12-26
# History:        Version----------Date---------Common-------author---------Desc------------
#                    01          2017-12-26     Create       林育驰         创建
#                    02                                                     
#                    03                                                     
#                    04                                                     
#                    05                                                     
############################################################################################
source /home/hadoop/.bash_profile

echo -e "\n\n===================[EXEC TIME:`date +%c`]==================="

datanodes=`cat /etc/hosts|grep hadoop|sed -n '3,$p'|awk '{print $2}'`

for datanode in `echo $datanodes `
do
    jps_status=`ssh -t $datanode  'jps'|grep Node|wc -l|tail -1`
    if [[ $jps_status -lt 2 ]]; then
        echo $datanode is lost!
        sh /home/hadoop/lyc/bonc_warn_job.sh "B" "集群监控" "Hadoop datanode $datanode is lost!"
    else
        echo $datanode is ok! 
    fi
done


记录的日志如下:

image

posted @ 2018-01-02 14:52  leeyuki  阅读(887)  评论(0编辑  收藏  举报