1、介绍:
做集群规划的时候,有一点非常必要的就是一定要知道都是哪些机器在向yarn提交任务,这样如果需要做配置上的调整,可以进行统计调整。另外也可以很清楚的知道是哪些业务在使用hadoop 计算数据。
最简单的统计方法就是获取所有(或某一天)所有的任务,然后拿出它们的submithostname,之后简单统计即可。
2、统计代码
#!/bin/bash
if [ ! -n "$1" ];then
theday=`date -d "-0 day" "+%Y %m %d" `
else
theday=$1 #输入参考 countSubmit.sh "2015 07 01"
fi
read year month day << DATE_COMMAND
$theday
DATE_COMMAND
echo $year $month $day
INPUT="/user/history/done/$year/$month/$day/*/*.xml" #
for i in `hadoop fs -ls $INPUT | head | awk '{print $8}'`
do
echo `hadoop fs -cat $i | grep submithostname | grep -oP '(?<=<value>)[^<]*' ` #零宽断言
done
3、执行
sh countSubmit.sh |awk '{a[$1]++}END{for (j in a) print j","a[j]}'
4、结果(参考)
slave111,24
slave22, 96
零宽断言的参考:http://deerchao.net/tutorials/regex/regex.htm#lookaround