Apache spark 在spark停止工作

Apache spark 在spark停止工作,apache-spark,pyspark,Apache Spark,Pyspark,我使用的是Spark 1.3版。我有一项工作要花很长时间才能完成。 为了修复它,我对代码进行了一些优化,然后重新开始了工作。不幸的是,我在停止早期版本之前启动了优化的代码,现在我无法停止早期的作业 以下是我试图杀死此应用程序的原因: 通过Web UI 结果:spark UI没有应用程序的“kill”选项(我假设他们没有启用“spark.UI.killEnabled”,我不是这个集群的所有者) 通过命令行:spark class org.apache.spark.deploy.Client kil

我使用的是Spark 1.3版。我有一项工作要花很长时间才能完成。 为了修复它,我对代码进行了一些优化,然后重新开始了工作。不幸的是,我在停止早期版本之前启动了优化的代码,现在我无法停止早期的作业

以下是我试图杀死此应用程序的原因:

  • 通过Web UI 结果:spark UI没有应用程序的“kill”选项(我假设他们没有启用“spark.UI.killEnabled”,我不是这个集群的所有者)

  • 通过命令行:
    spark class org.apache.spark.deploy.Client kill mymasterURL app XXX

  • 结果:我收到以下消息:

    驱动程序应用程序XXX已完成或不存在

    但是我在web UI中看到它仍然在运行,并且资源仍然被占用

  • 通过spark submit命令行:
    spark submit--master mymasterURL--deploy mode cluster--kill app XXX
  • 结果:我得到以下错误:

    错误:仅在独立模式下支持终止提交

  • 我试图检索spark上下文以停止它(通过SparkContext.stop()或cancelAllJobs()),但失败,因为“.getOrCreate”在1.3中不可用。我无法检索初始应用程序的spark上下文 如果有任何想法,我将不胜感激

    编辑:我还尝试通过执行:
    warn application-kill app XXX

    结果:我得到了这个错误:

    线程“main”java.lang.IllegalArgumentException中的异常: 无效的ApplicationId前缀:app XX。有效的应用程序ID应该是 从前缀应用程序开始


    即使是一个可以杀死Spark集群上所有正在运行的作业的命令对我来说也可以,但我找不到这样的命令。你是如何执行Spark(命令行)的?它是独立的吗?纱线客户端等?我没有执行spark,我只是一个用户,其他人负责维护这个集群。但是,它肯定不是独立模式(请参阅我在上面对我因终止提交而产生的错误的评论)。我正在尝试确定是否使用了Thread客户端。根据您在#3收到的消息(
    错误:仅在独立模式下支持终止提交!
    ),我会猜测您使用了Thread客户端。如果是这种情况,那么您应该能够运行命令
    纱线应用程序-kill app XXX
    (更多信息请访问:)@Danny Lee您对纱线客户端的看法是正确的,但该命令也不起作用。以下是我所做的工作:我跟踪了驱动程序进程和运行它的机器,然后我登录到特定的机器,获得了一个进程列表,找到了与我的程序相关的pyspark shell(基于进程的开始时间),并将其终止。当然,我不推荐这样一种粗俗的杀掉应用程序的方法,但我真的陷入了这种境地。即使是一个可以杀掉Spark集群上所有正在运行的作业的命令对我来说也行,但我找不到这样的命令。你是如何执行Spark(命令行)的?它是独立的吗?纱线客户端等?我没有执行spark,我只是一个用户,其他人负责维护这个集群。但是,它肯定不是独立模式(请参阅我在上面对我因终止提交而产生的错误的评论)。我正在尝试确定是否使用了Thread客户端。根据您在#3收到的消息(
    错误:仅在独立模式下支持终止提交!
    ),我会猜测您使用了Thread客户端。如果是这种情况,那么您应该能够运行命令
    纱线应用程序-kill app XXX
    (更多信息请访问:)@Danny Lee您对纱线客户端的看法是正确的,但该命令也不起作用。以下是我所做的工作:我跟踪了驱动程序进程和运行它的机器,然后我登录到特定的机器,获得了一个进程列表,找到了与我的程序相关的pyspark shell(基于进程的开始时间),并将其终止。当然,我不推荐这样一种粗俗的杀掉应用程序的方法,但我真的陷入了这种境地。