Spark基于zookeeper的HA
1. 准备
Zookeeper环境
参考:http://blog.csdn.net/mapengbo521521/article/details/41777721
Spark环境
参考:http://blog.csdn.net/mapengbo521521/article/details/49966677
2. 配置spark
进到spark的配置目录,在spark-env.sh修改如下
Export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,spark2:2181 -Dspark.deploy.zookeeper.dir=/spark"
export JAVA_HOME=/home/hadoop/jdk/jdk1.7.0_21
#export SPARK_MASTER_IP= hadoop1
#export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
把这个配置文件分发到各个节点上去
scp spark-env.sh root@hadoop2: $SPARK_HOME /conf/
scp spark-env.sh root@hadoop3: $SPARK_HOME /conf/
启动spark集群
Sbin/start-all.sh
进入hadoop2节点,启动start-master.sh 当hadoop1节点挂掉时hadoop2顶上充当master
jps查看hadoop1 和hadoop2 均存在Master进程
3. 测试HA是否生效
查看hadoop1 和hadoop2 均存在Master进程,hadoop2处于待命状态
在hadoop1上把master节点停掉 sbin/stop-master.sh
访问http://hadoop1:8080,发现已经挂掉。
访问http://hadoop2:8080,发现hadoop2已经已经接管了hadoop1成为主节点。