【发布时间】:2017-01-30 11:12:57
【问题描述】:
我们正在研究 spark 集群,即使在 spark“Master”进程被终止后,spark 作业也能成功提交。
这里是关于我们正在做什么的完整细节。
流程详情:-
jps 19560 名称节点 18369 QuorumPeerMain 22414 日元 20168 资源管理器 22235 大师
我们使用类似的命令向这个 Master 提交了一个 Spark 作业
spark-1.6.1-bin-without-hadoop/bin/spark-submit --class com.test.test --master yarn-client --deploy-mode client test.jar -incomingHost hostIP
其中 hostIP 具有运行“主”进程的机器的正确 IP 地址。 在此之后,我们还可以在 RM Web UI 中看到该作业。 现在,当我们终止“主”进程时,我们可以看到提交的作业运行良好,这是预期的,因为我们使用的是 yarn 模式,并且该作业将毫无问题地运行。
现在我们终止了“Master”进程。 但是当我们再次提交指向当前关闭的相同主 IP 的相同命令“spark-submit”时,我们在 RM web ui (host:8088) 中再次看到作业,我们无法将其理解为 Spark“主“被杀死(和主机:8080)火花用户界面也没有出现。
请注意,我们使用的是“yarn-client”模式,如下代码
sparkProcess = new SparkLauncher()
.......
.setSparkHome(System.getenv("SPARK_HOME"))
.setMaster("yarn-client")
.setDeployMode("client")
请有人可以向我解释一下这种行为吗?看了很多博客(http://spark.apache.org/docs/latest/running-on-yarn.html)和官方文档后没有找到。 谢谢
【问题讨论】:
标签: apache-spark spark-streaming spark-dataframe hadoop-yarn