yarn application -list:如何筛选今天或过去 24 小时的列表?
yarn application -list: How to filter list for today or last 24 hours?
我正在尝试列出 Hadoop 集群上的应用程序 运行。我可以获得按申请状态过滤的列表,如下所示:
>yarn application -list -appStates FINISHED
但这仍然会提取整个历史记录(过去 4-5 天,我猜是基于 Yarn Timeline 服务器配置)。
有没有办法按特定日期或过去 24 小时之类的内容进行过滤?
您可以使用 RM 应用程序 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 - 开始时间从这个时间开始的应用程序,指定自纪元以来的毫秒数
- startedTimeEnd - 开始时间以此时间结束的应用程序,自纪元以来以毫秒为单位指定
- finishedTimeBegin - 完成时间从这个时间开始的应用程序,自纪元以来以毫秒为单位指定
- finishedTimeEnd - 结束时间以此时间结束的应用程序,自纪元以来以毫秒为单位指定
我正在尝试列出 Hadoop 集群上的应用程序 运行。我可以获得按申请状态过滤的列表,如下所示:
>yarn application -list -appStates FINISHED
但这仍然会提取整个历史记录(过去 4-5 天,我猜是基于 Yarn Timeline 服务器配置)。
有没有办法按特定日期或过去 24 小时之类的内容进行过滤?
您可以使用 RM 应用程序 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 - 开始时间从这个时间开始的应用程序,指定自纪元以来的毫秒数
- startedTimeEnd - 开始时间以此时间结束的应用程序,自纪元以来以毫秒为单位指定
- finishedTimeBegin - 完成时间从这个时间开始的应用程序,自纪元以来以毫秒为单位指定
- finishedTimeEnd - 结束时间以此时间结束的应用程序,自纪元以来以毫秒为单位指定