我想在我的 spark 工作中添加一个安全措施,如果他们在 X 小时后没有完成就杀死他们自己。(在yarn模式下在集群模式下使用spark 2.4.3)
在 spark 中没有找到任何可以帮助我实现我想要的配置。
我试着这样做:
val task = new java.util.TimerTask {
def run():Unit = {
val p = Runtime.getRuntime.exec(Array[String]("/bin/sh", "-c", s"yarn application -kill ${sc.applicationId}")) // this code can only run on the cluster
p.waitFor()
sc.stop()
}
}
timeoutProcess.schedule(task, X) // where X is 10000 for 10s for testing
但似乎并没有完成杀死应用程序,希望对此有任何想法或想法。
试图环顾四周,但没有找到任何好主意。