我在本地集群上运行hadoop2.7.1(所有节点都运行ubuntu14.x或更高版本)。我的mapreduce程序是用python编写的,我正在使用流api来运行任务。我想找出所有节点上所有Map任务占用的总时间。怎么做?我找不到工作档案(可能从Hadoop2.x以后的版本中删除)。
3j86kqsm1#
所有Map任务为作业已用时间的总时间。您可以在hadoopweb界面中查看它(单击指定作业)。http://ip_address:8088/
ej83mcc02#
如果您要查找在所有任务中花费的所有聚合时间的总和,则可能需要查看计数器。也可以在作业历史服务器上单击 Counters 在钻取单个作业之后,或者您可以使用 mapred job 例如,用于打印成功作业的所有摘要状态的命令:
Counters
mapred job
mapred job -list all | grep SUCCEEDED | awk '{ print $1 }' | \ xargs -n 1 mapred job -status
最接近于“聚合墙时间”的是“在占用的插槽中花费的时间”,也就是说 SLOTS_MILLIS_MAPS 以及 SLOTS_MILLIS_REDUCES :
SLOTS_MILLIS_MAPS
SLOTS_MILLIS_REDUCES
mapred job -list all | grep SUCCEEDED | awk '{ print $1 }' | \ xargs -n 1 -i mapred job -counter {} org.apache.hadoop.mapreduce.JobCounter SLOTS_MILLIS_MAPS mapred job -list all | grep SUCCEEDED | awk '{ print $1 }' | \ xargs -n 1 -i mapred job -counter {} org.apache.hadoop.mapreduce.JobCounter SLOTS_MILLIS_REDUCES
2条答案
按热度按时间3j86kqsm1#
所有Map任务为作业已用时间的总时间。您可以在hadoopweb界面中查看它(单击指定作业)。http://ip_address:8088/
ej83mcc02#
如果您要查找在所有任务中花费的所有聚合时间的总和,则可能需要查看计数器。也可以在作业历史服务器上单击
Counters
在钻取单个作业之后,或者您可以使用mapred job
例如,用于打印成功作业的所有摘要状态的命令:最接近于“聚合墙时间”的是“在占用的插槽中花费的时间”,也就是说
SLOTS_MILLIS_MAPS
以及SLOTS_MILLIS_REDUCES
: