首页 > 解决方案 > Spark Submit 和 EMR HA 的 Livy 服务

问题描述

抱歉,如果这个问题非常具体并且错过了错误日志,因为这很难在我们的生产环境中重现。

场景:我们在 EMR 节点中运行 Livy 服务,用于远程 spark 提交调用。

我们还为我们的生产 EMR 节点启用了高可用性,这意味着在任何节点错误期间,备用资源管理器 (RM) 节点将变为活动状态,因此 NameNode 必须为这个新节点注册其状态和元数据。

挑战在于无论何时发生这种情况 - 我们的 spark 作业开始堆积,因为 livy 没有(立即)将新的 RM 注册为活动的。这个偶尔的问题会导致我们 EMR 中断,唯一成功的方法是删除正在运行的 spark 应用程序并手动重新启动它们以释放资源。

Livy Server 如何了解哪个是活动 RM,以及每当发生 EMR HA 切换时我们可以做些什么来避免此类问题?

PS有时重新启动livy服务器可以解决问题,但它是一种被动方式:

initctl list | grep livy
sudo start livy-server

标签: scalaapache-sparkamazon-emrdistributed-systemlivy

解决方案


推荐阅读