美文网首页Spark_Flink_Hadoop
Spark集群安装 - Master高可用

Spark集群安装 - Master高可用

作者: heichong | 来源:发表于2019-10-24 20:12 被阅读0次

    要保证spark的高可用,只要保证Master高可用即可,Master是通过zookeeper来实现高可用。
    本文是基于Spark集群安装 - standalone模式基础进行改造

    利用ZooKeeper提供master选举和状态存储功能。你可以在你的集群里启动多个Master连接到同一个Zookeeper实例。其中的一台机器会被选举为master,剩下的将会运行在StandBy模式。如果master宕机,新的master会被选举出来并恢复状态,从而继续提供调度服务。整个恢复过程(从第一个master宕机开始)需要1-2分钟。注意,这只会影响恢复过程中提交的新作业,而在宕机之前提交的作业不会受影响。

    zookeeper安装

    省略

    修改spark配置

    vi $SPARK_HOME/conf/spark-env.sh
    

    注释掉SPARK_MASTER_HOST配置项,增加如下代码

    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=lfg00:2181,lfg01:2181,lfg01:2181 -Dspark.deploy.zookeeper.dir=/spark"
    

    -Dspark.deploy.recoverMode=ZOOKEEPER 代表发生故障使用zookeeper服务
    -Dspark.depoly.zookeeper.url=lfg00:2181,lfg01:2181,lfg01:2181主机名的名字
    -Dspark.deploy.zookeeper.dir=/sparkspark要在zookeeper上写数据时的保存目录

    分发配置到其它spark集群中的其它机器

    cd $SPARK_HOME/conf
    scp spark-env.sh hadoop@lfg02:`pwd`
    scp spark-env.sh hadoop@lfg03:`pwd`
    

    启动spark集群

    先停止之前启动的spark集群

    sh $SPARK_HOME/sbin/stop-all.sh
    

    在一台机器启动集群

    sh $SPARK_HOME/sbin/start-all.sh
    

    另外,还需要在另外一台机器上单独启动spark master

    ssh lfg02
    sh $SPARK_HOME/sbin/start-master.sh
    

    查看集群master状态

    • 第一台启动的集群lfg01,其webui地址http://lfg01:8080/显示的状态为Status: ALIVE
    • 第二台启动master的lfg02,其webui地址http://lfg02:8080/显示的状态为Status: STANDBY

    测试

    我们先杀掉lfg01的master,模拟master宕机
    此时查看http://lfg02:8080/显示的状态,已经变为Status: ALIVE,说明Master切换成功

    至此,说明spark master高可用已配置好!

    相关文章

      网友评论

        本文标题:Spark集群安装 - Master高可用

        本文链接:https://www.haomeiwen.com/subject/twwdvctx.html