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。

  • 相关阅读:
    【LeetCode】17. Letter Combinations of a Phone Number
    【LeetCode】16. 3Sum Closest
    【LeetCode】15. 3Sum 三个数和为0
    【LeetCode】14. Longest Common Prefix 最长前缀子串
    【LeetCode】13. Roman to Integer 罗马数字转整数
    【LeetCode】12. Integer to Roman 整型数转罗马数
    【LeetCode】11. Container With Most Water
    【LeetCode】10. Regular Expression Matching
    Models of good programmer
    RSA Algorithm
  • 原文地址:https://www.cnblogs.com/nswdxpg/p/8528980.html
Copyright © 2011-2022 走看看