Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java apachespark:what';如果master出现故障,这是设计的行为_Java_Cluster Computing_Akka_Apache Spark - Fatal编程技术网

Java apachespark:what';如果master出现故障,这是设计的行为

Java apachespark:what';如果master出现故障,这是设计的行为,java,cluster-computing,akka,apache-spark,Java,Cluster Computing,Akka,Apache Spark,我们正在一个独立的Spark cluster上运行我们的计算,版本1.0.2-以前的主要版本。我们没有配置任何HA或恢复逻辑。 驱动端的一项功能使用传入的JMS消息,并将相应的作业提交给spark 当我们关闭single&only Spark master(用于测试)时,驱动程序似乎无法正确地确定集群不再可用。这导致了两个主要问题: 驱动程序试图无休止地重新连接到主机,或者至少我们不能等到它放弃 由于前面的一点,新作业的提交被阻塞(在org.apache.spark.scheduler.jobw

我们正在一个独立的Spark cluster上运行我们的计算,版本1.0.2-以前的主要版本。我们没有配置任何HA或恢复逻辑。 驱动端的一项功能使用传入的JMS消息,并将相应的作业提交给spark

当我们关闭single&only Spark master(用于测试)时,驱动程序似乎无法正确地确定集群不再可用。这导致了两个主要问题:

  • 驱动程序试图无休止地重新连接到主机,或者至少我们不能等到它放弃
  • 由于前面的一点,新作业的提交被阻塞(在org.apache.spark.scheduler.jobwater#waitresult中)。我认为这是因为集群没有被报告为不可检查/关闭,提交逻辑只是等待集群返回。对我们来说,这意味着JMS侦听器线程很快就用完了,因为它们都被阻塞了
  • 您可以在Spark上配置两个与akka故障检测相关的属性,但是:

  • 官方文档强烈建议不要启用akka的内置故障检测
  • 我真的很想了解默认情况下这是如何工作的

  • 那么,有谁能解释一下,如果独立部署模式中的单个spark master出现故障/停止/关闭,设计的行为是什么。我在互联网上找不到任何关于这方面的适当文档。

    默认情况下,Spark可以处理工人故障,但不能处理主(驱动)故障。如果主机崩溃,则无法创建新的应用程序。因此,他们在这里提供了两种高可用性方案:

    希望这有帮助

    勒库克多