yarn application -list:如何过滤今天或过去24小时的列表?

时间:2017-05-19 01:29:30

标签: yarn hadoop2

我正在尝试列出在Hadoop集群上运行的应用程序。我可以按列表按应用程序状态过滤列表:

>yarn application -list -appStates FINISHED

但是这仍然会拉起整个历史记录(过去4-5天,我猜基于Yarn Timeline服务器配置)。

有没有办法在特定日期或过去24小时之间过滤?

1 个答案:

答案 0 :(得分:1)

您可以使用RM Apps API执行此操作。对于简单的测试,您可以运行:

$ date +"%s"
1495215569
$ let x=1495215569-86400
$ echo $x
1495129169
$ curl 'RMURL/ws/v1/cluster/apps?startedTimeBegin=1495129169000' | python -m json.tool

这会将日期运行时启动的应用程序减去一天(86400秒)并显示它们。您需要添加000作为时间参数需要毫秒而不是秒。支持的参数是:

  • startedTimeBegin - 以此时间开始的开始时间的应用程序,以epoch
  • 为单位指定
  • startedTimeEnd - 以此时间结束的开始时间的应用程序,以epoch
  • 为单位指定
  • finishedTimeBegin - 以此时间开始的完成时间的应用程序,以epoch
  • 为单位指定
  • finishedTimeEnd - 完成时间以此时间结束的应用程序,以epoch
  • 为单位指定

有关详细信息,请参阅https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_API