我想配置 Apache火花 掌握连接 动物园管理员
我已经安装了它们并运行Zookeeper。
在 spark-env.sh,我添加2行:
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=localhost:2181
但是当我开始 Apache火花 同 ./sbin/start-all.sh
它显示错误
/home/deploy/spark-1.0.0/sbin/../conf/spark-env.sh: line 46: -Dspark.deploy.recoveryMode=ZOOKEEPER: command not found
/home/deploy/spark-1.0.0/sbin/../conf/spark-env.sh: line 47: -Dspark.deploy.zookeeper.url=localhost:2181: command not found
我想知道如何在spark-env.sh上添加Zookeeper设置
很可能你已经将这些行直接添加到文件中,如下所示:
export SPARK_PREFIX=`dirname "$this"`/..
export SPARK_CONF_DIR="$SPARK_HOME/conf"
...
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=localhost:2181
当start-all.sh调用时,bash会抱怨那些 -Dspark...
不是有效的命令。注意 spark_config.sh
是一个bash脚本,应该包含有效的bash表达式。
按照配置指南进行操作 高可用性,你应该设置 SPARK_DAEMON_JAVA_OPTS
有以下选项: spark.deploy.recoveryMode
, spark.deploy.zookeeper.url
,和 spark.deploy.zookeeper.dir
。
使用您的数据,您需要添加一行 spark-conf.sh
像这样:
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=localhost:2181"
尝试在spark_env.sh中添加以下行
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=ZK1:2181,ZK2:2181,ZK3:2181 -Dspark.deploy.zookeeper.dir=/sparkha"
请用您的ZK仲裁主机和端口替换ZK1,ZK2和ZK3
而这里/ sparkha是ZK中用于spark的数据存储,默认情况下它将是/ spark
刚刚测试过,它对我们有用。
HTH