Hadoop系统监控脚本

有个需求,要在测试Hadoop上部署一个系统性能收集系统,结合了hadoop本身的sshkeygen特点,走了ssh协议,不建议在生产hadoop上部署,网络代价太大了。

下面是脚本内容。

可能会需要dstat-0.7.2-1.el5.rfx.noarch.rpm
部署时先执行init.sh
再修改allserver-collect.sh 的$HADOOP_HOME和dstat命令参数,现在的参数可是只输出时间的。
最后添加* * * * *  ~/monitor/allserver-collect.sh >/dev/null </dev/null 2>&1
到crontab

cd  ~/monitor
cat init.sh


#!/bin/sh
mkdir  ~/monitor


for i in `cat $HADOOP_HOME/conf/masters $HADOOP_HOME/conf/slaves|uniq` ;do
  mkdir ~/monitor/$i
  ssh $i "mkdir ~/monitor/"
  #scp dstat-0.7.2-1.el5.rfx.noarch.rpm $i:~/monitor
  #ssh $i "rpm -Uvh dstat-0.7.2-1.el5.rfx.noarch.rpm"
  ssh $i "nohup dstat -t --output ~/monitor/dstat.log 60 >/dev/null </dev/null 2>&1 &"
done

cat allserver-collect.sh
#!/bin/sh
#crond add "* * * * *  ~/monitor/allserver-collect.sh >/dev/null </dev/null 2>&1 "


HADOOP_HOME="$HADOOP_HOME"
serverlist=`cat $HADOOP_HOME/conf/masters $HADOOP_HOME/conf/slaves|uniq`
dstat_log="~/monitor/dstat.log"
for i in `echo $serverlist` ;do
    ssh $i "tail -n 1 $dstat_log">>~/monitor/$i/$i.dstat.log


done

更多Hadoop相关信息见Hadoop 专题页面 ?tid=13

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4fcb2afe74c3d92eafb1fb8371a64bd0.html