我们有一个基于(YARN + Spark 2.1 + Hadoop + Akka)的分析平台,该平台公开了类似DSL的SQL,以便在hadoop上执行分析。它还具有一个Web UI,通过该UI可以提交DSL中表达的查询以执行。提交给执行的查询经过验证,然后转换为火花计划(数据集/数据框),然后执行该计划。执行后的记录将流回UI。
在大多数情况下,此模型运行良好,但有时用户尝试重复提交运行时特性不好的查询。在反复执行时,执行者迅速失败,YARN最终终止了会话。我们争先恐后地添加了一些控件来阻止这种情况的发生,但是没有一个能够完全解决这个问题。
请注意,我们已启用动态分配,并且最大执行程序失败次数也很高。
有什么方法可以理想地解决这个问题吗?
有没有一种方法可以在会话终止时重新创建会话?
非常感谢您的帮助。