使用Zookeeper Quorum对Spark Cluster进行HA设置

时间:2016-09-06 13:14:53

标签: apache-spark apache-zookeeper high-availability apache-curator

我们正尝试使用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。他们已经开始运作了。

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

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

java.lang.NoClassDefFoundError:org / apache / curator / RetryPolicy at storm.kafka.KafkaSpout.open(KafkaSpout.java:85)at backtype.storm.daemon.executor $ fn__3373 $ fn__3388.invoke(executor.clj: 522)at backtype.storm.util $ async_loop $ fn__464.invoke(util.clj:461)at clojure.lang.AFn.run(AFn.java:24)at java.lang.Thread.run(Thread.java:745) )引起:java.lang.ClassNotFoundException:java.net.URLClassLoader $ 1.run(URLClassLoader.java:372)java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)的java.lang.ClassNotFoundException:org.apache.curator.RetryPolicy at java.security.AccessController.doPrivileged(本机方法),位于java..LLCE文件管理器上的java.lang.ClassLoader.findClass(URLClassLoader.java:360),位于sun.misc.Launcher $ AppClassLoader的java.lang.ClassLoader.loadClass(ClassLoader.java:424)。 loadClass(Launcher.java:308)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)... 5 more

使用的版本: - Spark - spark-1.6.1 ZK - 3.4.6

1 个答案:

答案 0 :(得分:0)

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

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