Spark高可用集群安装

1、停止 Spark 集群

[hadoop@hadoop02 ~]$ cd /home/hadoop/apps/spark-2.3.0-bin-hadoop2.7
[hadoop@hadoop02 ~]$ sbin/stop-all.sh

2、配置 ZooKeeper 集群

安装、配置并且启动好 ZooKeeper 集群

3、修改 SPARK_HOME/conf 目录中的 spark-env.sh 配置文件

删掉:export SPARK_MASTER_HOST=hadoop02
增加一行:export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -
Dspark.deploy.zookeeper.url=hadoop01,hadoop02,hadoop03 -Dspark.deploy.zookeeper.dir=/spark"

-Dspark.deploy.recoveryMode=ZOOKEEPER
说明整个集群状态是通过zookeeper来维护的,整个集群状态的恢复也是通过zookeeper来维护的。就是说用 zookeeper 做了 Spark 的 HA 配置,Master(Active)挂掉的话,Master(standby)要想变成 Master(Active)的话,Master(Standby)就要像 zookeeper 读取整个集群状态信息,然后进行恢复所有 Worker 和 Driver 的状态信息,和所有的Application 状态信息

-Dspark.deploy.zookeeper.url=hadoop2:hadoop03:hadoop04
将所有配置了 zookeeper,并且在这台机器上有可能做 master(Active)的机器都配置进来(我用了 3 台,就配置了 3 台)

-Dspark.deploy.zookeeper.dir=/spark
这里的 dir 和 zookeeper 配置文件 zoo.cfg 中的 dataDir 的区别???
-Dspark.deploy.zookeeper.dir 是保存 spark 的元数据,保存了 spark 的作业运行状态;zookeeper 会保存 spark 集群的所有的状态信息,包括所有的 Workers 信息,所有的Applactions 信息,所有的 Driver 信息。

4、兼容hadoop集群

如果是高可用 Hadoop 集群,一定要把 core-site.xml 和 hdfs-site.xml 放置$SPARK_HOME/conf 目录中,然后所有节点要同步。

5、同步配置文件

[hadoop@hadoop02 conf]$ scp -r spark-env.sh hadoop03:$PWD
[hadoop@hadoop02 conf]$ scp -r spark-env.sh hadoop04:$PWD
[hadoop@hadoop02 conf]$ scp -r spark-env.sh hadoop05:$PWD

6、启动集群

在 hadoop02 上执行:
[hadoop@hadoop02 ~]$ cd /home/hadoop/apps/spark-2.3.0-bin-hadoop2.7
[hadoop@hadoop02 spark-2.3.0-bin-hadoop2.7]$ sbin/start-all-spark.sh

此时,通过观察启动日志,或者检查 hadoop03 上是否包含有 master 进程等都可以得知hadoop04 上的 master 并不会自动启动,所以需要手动启动。那么在 hadoop03 执行命令进行启动:sbin/start-master.sh

7、验证高可用

这是正常情况:浏览器访问hadoop02:7077 和 hadoop03:7077
Hadoop02 是 spark 集群的 active master 节点
Hadoop04 是 spark 集群的 standby master 节点

通过杀掉 active master 观察是否 hadoop03 能启动切换为 active 状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值