我们知道大数据平台有很多服务datanode,namenode,nodemananger,resourcemanager等等,这些服务可能会在跑任务的过程中直接退出,那么我们如何监控这些服务并重启服务呢?接下来总结一些这方面的监控脚本以备不时之需。
1、Datanode监控(hadoop_datanode_monitor.sh)
#!/bin/bash
source $HOME/.bashrc
function logger()
{
time=`date "+%Y-%m-%d %T"`
echo "$time $1"
}
#monitor base function
function proc_monitor()
{
if test $(ps -ef | grep -i proc_$1 | grep -v grep | wc -l) -eq 0;then
logger "$1 not exists!, start $1 by monitor"
hadoop-daemon.sh start $1
fi
}
#minitoring datanode
proc_monitor "datanode"
2、Namenode监控(hadoop_namenode_monitor.sh)
#!/bin/bash
source $HOME/.bashrc
function logger()
{
time=`date "+%Y-%m-%d %T"`
echo "$time $1"
}
#monitor base function
function proc_monitor()
{
if test $(ps -ef | grep -i proc_$1 | grep -v grep | wc -l) -eq 0;then
logger "$1 not exists!, start $1 by monitor"
hadoop-daemon.sh start $1
fi
}
#minitoring namenode
proc_monitor "namenode"
3、NodeManager监控(hadoop_nodemanager_monitor.sh)
#!/bin/bash
source $HOME/.bashrc
function logger()
{
time=`date "+%Y-%m-%d %T"`
echo "$time $1"
}
#monitor base function
function proc_monitor()
{
if test $(ps -ef | grep -i proc_$1 | grep -v grep | wc -l) -eq 0;then
logger "$1 not exists!, start $1 by monitor"
yarn-daemon.sh start $1
fi
}
#minitoring nodemanager
proc_monitor "nodemanager"
4、ResourceManager监控(hadoop_resourcemanager_monitor.sh)
#!/bin/bash
source $HOME/.bashrc
function logger()
{
time=`date "+%Y-%m-%d %T"`
echo "$time $1"
}
#monitor base function
function proc_monitor()
{
if test $(ps -ef | grep -i proc_$1 | grep -v grep | wc -l) -eq 0;then
logger "$1 not exists!, start $1 by monitor"
yarn-daemon.sh start $1
fi
}
#minitoring resourcemanager
proc_monitor "resourcemanager"
5、HMaster监控(hbase_master_monitor.sh)
#!/bin/bash
source $HOME/.bashrc
function logger()
{
time=`date "+%Y-%m-%d %T"`
echo "$time $1"
}
#monitor base function
function proc_monitor()
{
if test $(ps -ef | grep -i proc_$1 | grep -v grep | wc -l) -eq 0;then
logger "$1 not exists!, start $1 by monitor"
hbase-daemon.sh start $1
fi
}
#minitoring master
proc_monitor "master"
6、HRegionServer监控(hbase_regionserver_monitor.sh)
#!/bin/bash
source $HOME/.bashrc
function logger()
{
time=`date "+%Y-%m-%d %T"`
echo "$time $1"
}
#monitor base function
function proc_monitor()
{
if test $(ps -ef | grep -i proc_$1 | grep -v grep | wc -l) -eq 0;then
logger "$1 not exists!, start $1 by monitor"
hbase-daemon.sh start $1
fi
}
#minitoring regionserver
proc_monitor "regionserver"