我们正尝试使用ZK设置Spark HA设置。 我们有2台主机用于Spark进程,另外3台用于Spark Slaves 火花机的主机配置如下所示在spark-env.sh中执行:
# - SPARK_DAEMON_JAVA_OPTS, to set config properties for all daemons (e.g. "-Dx=y")
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=DEV-SMP-Manager01:2181DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181"
其中DEV-SMP-Manager01:2181DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181是ZK Quorum。他们正在运转。 在下面提到的spark配置文件中添加了curator jar。 当我们使用命令sbin / start-master.sh启动主服务器时,
他们两人都来了" STANDBY" ,火花日志没有错误。在这里我们陷入困境,任何想法出错我的spark-env如下: -
export SPARK_DIST_CLASSPATH = $(/ home / hduser / smp / hadoop-2.5.1 / bin / hadoop classpath) export SPARK_DIST_CLASSPATH = $ SPARK_DIST_CLASSPATH:/home/hduser/smp/spark-1.6.1-bin-without-hadoop/curator-client-2.0.0-incubating.jar:/home/hduser/smp/spark-1.6.1- bin-without-hadoop / curator-framework-2.2.0-incubating.jar
export SPARK_DAEMON_JAVA_OPTS =" -Dspark.deploy.recoveryMode = ZOOKEEPER -Dspark.deploy.zookeeper.url = DEV-SMP-Manager01:2181DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181&#34 ; 当我看到机器:8080用于两个Web UI时,我们看到主机的状态= STANDBY,并且其中任何一个都没有显示工人。虽然所有工人都在运作。任何线索都会有所帮助。理想情况下,一个主人应该在现场展示所有工人,但是这里的两个主人都待命,没有工人为任何主人展示?
使用的版本: - Spark - spark-1.6.1 ZK - 3.4.6
答案 0 :(得分:0)
经过一段时间的连续工作后,我们看到几个更改解决了完整的问题,现在两个主人都工作正常,一个将是Alive,其他应该是Standby,故障转移待机后应该是Alive,并且所有工作人员都在
exists
其中Dspark.deploy.zookeeper.dir存储在ZK数据存储中的spark HA,默认情况下它将是ZK中的/ spark,但我们希望可配置。
第二件事是ZK Leader选举所需的策展人罐子。所以我们添加了e env veritable,并且我们在SPARK_DIST_CLASSPATH中附加了作为&hadffop'的明确路径。已经存在的二进制文件,我们刚刚添加了我们新创建的env。
然后Quorum必须正确配置,不需要任何""如上面url = a1:2181,a2:2181
之后逐个主人开始,然后通过start-slaves.sh开始奴隶。然后一切都落到了原地。感谢所有研究过这个问题的人。希望这会有其他人。现在,我们能够在HA设置中帮助其他人。