zoukankan      html  css  js  c++  java
  • Spark集群高可用HA配置

    本文中的Spark集群包含三个节点,分别是Master,Worker1,Worker2。

    1、在Master机器上安装Zookeeper,本文安装在/usr/etc目录下

    2、在Master机器配置Zookeeper

      2.1、cp /usr/etc/zookeeper-3.4.10/conf/zoo_sample.cfg /usr/etc/zookeeper-3.4.10/conf/zoo.cfg
      2.2、在安装目录下创建data,logs目录:mkdir data;mkdir logs;
      2.3、vi /usr/etc/zookeeper-3.4.10/conf/zoo.cfg,增加内容如下:

    dataDir=/usr/etc/zookeeper-3.4.10/data
    dataLogDir=/usr/etc/zookeeper-3.4.10/logs
    server.0=Master:2888:3888
    server.1=Worker1:2888:3888
    server.2=Worker2:2888:3888

      2.4、在创建的data目录下创建myid文件,并修改内容为0(对应配置中的server.0)

    3、拷贝安装文件到Worker1,Worker2机器

    scp -r /usr/etc/zookeeper-3.4.10 root@Worker1:/usr/etc/zookeeper-3.4.10
    scp -r /usr/etc/zookeeper-3.4.10 root@Worker2:/usr/etc/zookeeper-3.4.10

      3.1、修改data目录下的myid文件,Worker1上的内容为1,Worker2上的内容为2。

    4、在Master、Worker1、Worker2上配置系统环境变量:

    vi /etc/profile
    增加Zookeeper内容:
    exprot ZOOKEEPER_HOME=/usr/etc/zookeeper-3.4.10
    PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$HIVE_HOME/bin:$SCALA_HOME/bin:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

    5、在Master、Worker1、Worker2上运行Zookeeper

      ./bin/zkServer.sh start
      运行./bin/zkServer.sh status查看运行状态,如有问题可通过安装目录下的zookeeper.out日志文件排查。
      成功后,运行jps,可看到QuorumPeerMain进程

    6、配置Spark
      vi /usr/etc/spark-2.3.0-bin-hadoop2.7/conf/spark-evn.sh
      修改内容如下:
      #export SPARK_MASTER_IP=Master #注释掉该行,Spark自己管理集群的状态
      export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=Master:2181,Worker1:2181,Worker2:2181 -Dspark.deploy.zookeeper.dir=/spark" #通过Zookeeper管理集群状态

    7、测试Spark集群工作状态
      7.1、启动集群
        在Master启动hdfs:start-dfs.sh
        在Master启动spark:/usr/etc/spark-2.3.0-bin-hadoop2.7/sbin/start-all.sh
        在Worker1,Worker2分别启动spark-master:/usr/etc/spark-2.3.0-bin-hadoop2.7/sbin/start-master.sh
        在Master通过浏览器访问Master:8080,Worker1:8080,Worker2:8080,Spark Master的运行状态在Master上是 ALIVE,在Worker1,Worker2上是STANDBY

      7.2、测试Master节点出故障的情况
        7.2.1、在任意节点上运行spark-shell:/usr/etc/spark-2.3.0-bin-hadoop2.7/bin/spark-shell --master spark://Master:7077,Worker1:7077,Worker2:7077
        7.2.2、在Master上运行/usr/etc/spark-2.3.0-bin-hadoop2.7/sbin/stop-master.sh停止Master服务,发现spark-shell控制台输出以下内容:Connection to Master:7077 failed; waiting for master to reconnect...,过一会通过浏览器访问Worker1:8080,发现此时Worker1机器上Spark Master的状态已经变成了ALIVE。

  • 相关阅读:
    javascript对象Math和正则对象
    javascript的Date对象
    初识Python与条件判断
    数据降维_矩阵分析笔记
    数据可视化实战:如何给陈奕迅的歌曲做词云展示?
    数据采集实战:如何自动化运营微博?
    MySQL与Python交互
    27_MySQL数字函数(重点)
    26_ mysql数据操作语言:DELETE语句
    25_MySQL 数据操作语言:UPDATE语句
  • 原文地址:https://www.cnblogs.com/nswdxpg/p/8528980.html
Copyright © 2011-2022 走看看