我认为传递自定义exitcode是不可能的,因为驱动程序传递的任何exitcode都将转换为yarn状态,而yarn将把任何失败的exitcode转换为1或失败。
通过查看spark代码,我可以得出以下结论:
在客户端
模式下是可能的。查看SparkSubmit类的runmain()
方法
而在cluster
模式下,不可能获得驱动程序的退出状态,因为驱动程序类将在其中一个执行器中运行。
有两种部署模式可用于在YARN上启动Spark应用程序。在yarn-cluster模式下,Spark驱动程序在集群上由YARN管理的应用程序主进程中运行,客户端可以在启动应用程序后离开。在yarn-client模式下,驱动程序在客户端进程中运行,而应用程序主进程仅用于向YARN请求资源。 在此,我只能理解的区别是哪个地方的驱动程序在运行,但我无法理解哪个运行得更快。莫尔沃弗: 在运行Spark-s
我是一名spark/纱线新手,在提交纱线集群上的spark作业时遇到exitCode=13。当spark作业在本地模式下运行时,一切正常。 我使用的命令是: Spark错误日志:
我正在使用yarn-cluster Master运行我的spark应用程序。 应用程序是做什么的? 外部服务根据对RESTService的HTTP请求生成jsonFile Spark需要在解析JSON后读取该文件并执行一些工作 我认为将文件作为--files传递会让我忘记保存和删除这个文件。类似于通过-过程-忘记。 那么,如何读取通过-files传递的文件呢?唯一的解决方案是手工创建路径,硬编码“
我正在尝试在我的Spark应用程序中使用多个(通过include)类型安全配置文件,我正在集群模式下提交给一个YARN队列。我基本上有两个配置文件,下面提供了文件布局: null 上面的两个文件都是我的application.jar的外部文件,所以我使用“--files”(可以在下面看到)将它们传递给yarn 我正在使用Typesafe配置库来解析我的“application-main.conf”
我正在尝试用Mesos集群模式运行Spark应用程序。(我有客户端模式工作,但仍然想尝试集群模式) 在YARN集群模式下,Spark的YARN客户机实现将把应用程序jar上传到HDFS,这样驱动程序和所有执行程序都可以访问jar,但是我在RestSubmissionClient中找不到这样的代码,Mesos或Standalond集群模式使用的是RestSubmissionClient。 在这种情况
我正在尝试从本地机器终端向我的集群提交一个Spark应用程序。我正在使用。我也需要在我的集群上运行驱动程序,而不是在我提交应用程序的机器上,即我的本地机器上 当我提供到本地机器中的应用程序jar的路径时,spark-submit会自动上传到我的集群吗? 我在用 和获取错误