使用 Zookeeper Quorum 的 Spark 集群的 HA 设置

HA setup of Spark Cluster using Zookeeper Quorum

我们正在尝试使用 ZK 设置 Spark HA 设置。 我们有 2 台机器用于 Master for Spark process,另外 3 台机器用于 Spark Slaves Spark HA 主机中的配置在 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。他们起来 运行 .

当我们使用命令 sbin/start-master.sh 启动 master 时,

我们看到了一些与策展人相关的错误消息

java.lang.NoClassDefFoundError:org/apache/curator/RetryPolicy 在 storm.kafka.KafkaSpout.open(KafkaSpout.java:85) 在 backtype.storm.daemon.executor$fn__3373$fn__3388.invoke( executor.clj:522) 在 backtype.storm.util$async_loop$fn__464.invoke(util.clj:461) 在 clojure.lang.AFn.run(AFn.java:24)在 java.lang.Thread.run(Thread.java:745) 原因:java.lang.ClassNotFoundException: org.apache.curator.RetryPolicy 在 java.net.URLClassLoader$1.run(URLClassLoader.java:372)在 java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在 java.security.AccessController.doPrivileged(本机方法)在 java.net.URLClassLoader.findClass(URLClassLoader.java:360) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)。 .. 还有 5 个

使用的版本:- 火花-火花1.6.1 ZK-3.4.6

请尝试通过在您的 spark-env.sh 文件中添加以下内容,将 curator-client jar 添加到类路径中:

SPARK_CLASSPATH="$SPARK_CLASSPATH:/path/to/curator-client.jar"