如何在hadoop上获取应用程序运行时
纱线是否会在hdfs上存储有关已完成应用程序(包括运行时)的信息?我只想通过hdfs上的一些文件获取应用程序运行时(如果确实存在这样的文件,我已经检查了日志,没有运行时信息),而不使用任何监控软件。您可以使用获取所有已完成应用程序的信息如何在hadoop上获取应用程序运行时,hadoop,yarn,monitor,Hadoop,Yarn,Monitor,纱线是否会在hdfs上存储有关已完成应用程序(包括运行时)的信息?我只想通过hdfs上的一些文件获取应用程序运行时(如果确实存在这样的文件,我已经检查了日志,没有运行时信息),而不使用任何监控软件。您可以使用获取所有已完成应用程序的信息 http://resource_manager_host:port/ws/v1/cluster/apps?state=FINISHED 对URL的GET请求将返回JSON响应(也可以获取XML)。必须为每个应用程序分析响应的elapsedTime,以获取应用程
http://resource_manager_host:port/ws/v1/cluster/apps?state=FINISHED
对URL的
GET
请求将返回JSON响应(也可以获取XML)。必须为每个应用程序分析响应的elapsedTime
,以获取应用程序的运行时间。要查找持久作业历史记录文件,您需要检查作业历史记录服务器或时间线服务器,而不是资源管理器:
warn.timeline service.entity group fs store.done dir
上由于我使用
shell脚本
在Thread上运行多个应用程序,我是否可以将Thread设置为在应用程序完成时自动返回应用程序的信息?这是否意味着如果没有这种自动方法,我必须使用while loop
频繁要求Thread返回已完成的应用程序信息?是的,您必须手动发出请求以获取应用程序的状态。当应用程序完成时,Thread提供的计数器包含一些相关信息,但不完全是经过的时间
。由于我使用shell脚本
在Thread上运行多个应用程序,我是否可以将Thread设置为在应用程序完成时自动返回应用程序的信息?这是否意味着如果没有这种自动方法,我必须使用while loop
频繁要求纱线返回成品应用程序信息?@0_1_Life您可以运行纱线应用程序-列表-appStates finished
,同时获取成品纱线应用程序ID列表,您维护一个应用程序ID列表,您已经有了工作历史记录。然后每次,如果您发现一个新ID不在列表中,请运行例如纱线日志-applicationId application\u 1484331408245\u 0014>/tmp/job\u 0014.log
,以获取并保存日志信息。这有用吗?