hadoop2.7:mapreduce任务使用流api的总时间

ar5n3qh5  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(246)

我在本地集群上运行hadoop2.7.1(所有节点都运行ubuntu14.x或更高版本)。我的mapreduce程序是用python编写的,我正在使用流api来运行任务。我想找出所有节点上所有Map任务占用的总时间。怎么做?我找不到工作档案(可能从Hadoop2.x以后的版本中删除)。

3j86kqsm

3j86kqsm1#

所有Map任务为作业已用时间的总时间。您可以在hadoopweb界面中查看它(单击指定作业)。http://ip_address:8088/

ej83mcc0

ej83mcc02#

如果您要查找在所有任务中花费的所有聚合时间的总和,则可能需要查看计数器。也可以在作业历史服务器上单击 Counters 在钻取单个作业之后,或者您可以使用 mapred job 例如,用于打印成功作业的所有摘要状态的命令:

mapred job -list all | grep SUCCEEDED | awk '{ print $1 }' | \
    xargs -n 1 mapred job -status

最接近于“聚合墙时间”的是“在占用的插槽中花费的时间”,也就是说 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

相关问题