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
记录的日志如下: