我正在尝试列出在 Hadoop 集群上运行的应用程序。我可以获取列表以按应用程序状态过滤,如下所示:
>yarn application -list -appStates FINISHED
但这仍然拉起了整个历史(过去 4-5 天,我猜基于 Yarn Timeline 服务器配置)。
有没有办法按特定日期或过去 24 小时之类的内容过滤它?
最佳答案
您可以使用 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
这会拉取在 date 运行减去一天(86400 秒)时启动的应用程序并显示它们。您需要添加 000,因为时间参数需要毫秒而不是秒。支持的参数有:
见 https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_API更多细节。
关于hadoop-yarn - yarn 应用程序-列表 : How to filter list for today or last 24 hours?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44060071/