YARN批量处理方案kill应用程序方案
发布时间
阅读量:
阅读量
前言
在部署Hadoop集群的过程中,所有任务最终均以Application的形式在集群中执行,无论这些任务是用户自行编写的MapReduce程序,还是由Hive SQL语句转换生成的MapReduce作业,最终都会以Application的身份运行。当这些Application执行完毕后,其相关信息可以被记录在JobHistory中进行查阅,可以说Hadoop在这一方面设计得相当完善。然而,尽管功能完备,JobHistory本质上属于一种“事后分析”机制,而实际应用中有时我们需要对当前正在运行的Applications进行干预。例如,当某个用户误操作启动了大量资源消耗较高的应用时,集群管理员通常会尝试尽快终止这些任务以释放资源供其他用户使用。然而目前Yarn平台在终止应用的操作上尚未提供批量处理的功能,仅支持通过kill+appID的方式逐个终止应用,这种方式较为繁琐且效率低下,往往导致“虽然成功终止了应用,但耗时长达半小时”的情况发生。因此本文将围绕批量终止应用的解决方案展开探讨,并依次从应用场景、方案设计以及最终实现等方面进行详细阐述。
应用场景
- 大量应用程序因误操作被启动,这一现象即为文章开篇所提及的情形。在用户数量较少的小型集群环境中,此类问题发生的可能性较低。然而,当集群规模扩大、用户数量增多时,该问题出现的概率将显著上升。面对用户基数增
全部评论 (0)
还没有任何评论哟~
