Zeppelin 在 YARN 中坚持工作
Zeppelin persists job in YARN
当我从 Zeppelin 运行 执行 Spark 作业时,作业成功完成,但它仍处于 YARN 模式 运行ning。
问题是作业正在占用 YARN 中的资源。我认为 Zeppelin 坚持 YARN 的工作。
我该如何解决这个问题?
谢谢
有两种解决方案。
快速的方法是使用 "restart interpreter" functionality,这是错误的命名,因为它只是停止解释器。在这种情况下,Yarn 中的 Spark 作业。
最优雅的方法是将 Zeppelin 配置为使用 dynamic allocation 和 Spark。在这种情况下,Yarn 应用程序主机将继续 运行,Spark 驱动程序将继续运行,但是所有执行程序(它们是真正的资源占用者)在不使用时都可以被 Yarn 释放。
最简单且 straight-forward 的解决方案是重新启动 spark 解释器。
但是正如 Rick 提到的,如果您应该使用 spark 动态分配,则需要在所有代理节点上启用 spark shuffle 服务的额外步骤(默认情况下禁用)。
只需关闭您的 spark 上下文,spark 作业的状态就会变为“已完成”。
你的记忆应该被释放了。
当我从 Zeppelin 运行 执行 Spark 作业时,作业成功完成,但它仍处于 YARN 模式 运行ning。 问题是作业正在占用 YARN 中的资源。我认为 Zeppelin 坚持 YARN 的工作。
我该如何解决这个问题?
谢谢
有两种解决方案。
快速的方法是使用 "restart interpreter" functionality,这是错误的命名,因为它只是停止解释器。在这种情况下,Yarn 中的 Spark 作业。
最优雅的方法是将 Zeppelin 配置为使用 dynamic allocation 和 Spark。在这种情况下,Yarn 应用程序主机将继续 运行,Spark 驱动程序将继续运行,但是所有执行程序(它们是真正的资源占用者)在不使用时都可以被 Yarn 释放。
最简单且 straight-forward 的解决方案是重新启动 spark 解释器。 但是正如 Rick 提到的,如果您应该使用 spark 动态分配,则需要在所有代理节点上启用 spark shuffle 服务的额外步骤(默认情况下禁用)。
只需关闭您的 spark 上下文,spark 作业的状态就会变为“已完成”。
你的记忆应该被释放了。