gpt4 book ai didi

bash - Hadoop-2.6 中 Map Reduce 作业的总时间计算

转载 作者:行者123 更新时间:2023-12-02 21:38:59 27 4
gpt4 key购买 nike

我想计算刚刚在 Hadoop -2.6 上完成的成功 Map Reduce 作业(准确)的 Total(Elapsed)时间。我想在我的 shell 脚本中度过这段时间。我知道以下计算完成时间的方法

  • 通过在作业完成时解析 Web 界面(http://192.168.1.169:8088/cluster/apps)HTML 并提取耗时。(但这种方法的问题是有时 Hadoop-2.6 Web 界面会长时间挂起。所以这种风格对我没有帮助。我没有知道它为什么挂起吗?)
  • 我正在使用 bash 脚本(如下所述)并在文件中写入时间(finishTime)。但是这个问题是一些额外的几秒钟的延迟即将到来,并且有时它没有给出正确的结果。


  • #!/bin/bash
    e=$(date +%s%N | cut -b1-13)
    a=($(mapred job -list all |awk '{print $1," ",$2," ",$3}' | sort -k1 -n | tail -n 3 | head -n 1))
    wait

    >finishTime
    destdir=./finishTime
    >destdir

    if [ "${a[1]}" = "SUCCEEDED" ]
    then
    total=$(($e - ${a[2]}))
    echo "$total" > "$destdir"
    else
    echo $(($(sed -n '1p' < ./init_setting) * 1000)) > "$destdir"
    fi
    exit


  • 在控制台上修改作业代码和打印时间(但作业源代码不可用)。

  • 如果您知道一些提取刚刚成功完成的工作的耗时的好方法,请通知我。如果我可以通过控制台提取它会很好。

    最佳答案

    你知道hadoop命令“history”吗,你可以用这个命令打印已完成作业的详细信息。

    用法是HDFS上的“bin/hadoop job -history”.“”,即job dir。例如

    bin/hadoop job -history hdfs://172.16.19.5:9000/output/ >> test

    注意替换你的路径

    图片上的结果 enter image description here

    关于bash - Hadoop-2.6 中 Map Reduce 作业的总时间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119533/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com