Spark Standalone HA集群

一、准备环境

  • 三台虚拟机(版本CentOS7)

    172.16.82.128   node1
    172.16.82.129   node2
    172.16.82.130   node3
    
  • 配置ip地址映射

    [root@localhost ~]# vim /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.16.82.128   node1
    172.16.82.129   node2
    172.16.82.130   node3
    
  • 关闭防火墙

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# systemctl disable firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    
  • 修改hostname

    [root@localhost ~]# vim /etc/hostname 
    node1 | node2 | node3
    
  • 同步时钟

    [root@nodeX ~]# date
    Tue Dec 10 11:07:17 CST 2019
    
    -------------时钟不同步,按照如下设置---------------------
     
    [root@nodeX ~]# date -s '2018-12-1 20:06:00' 20181201日 星期六 20:06:00 CST 
    root@nodeX ~]# clock -w
    [root@nodeX ~]# date
    20181201日 星期六 20:06:09 CST
    
  • 配置SSH免密登录

    [root@nodeX ~]# ssh-keygen -t rsa
    [root@nodeX ~]# ssh-copy-id node1 
    [root@nodeX ~]# ssh-copy-id node2 
    [root@nodeX ~]# ssh-copy-id node3
    
  • 重启服务器

二、安装JDK

  • 上传JDK安装包(版本JDK8.0)

  • 安装

    [root@nodeX ~]# rpm -ivh jdk-8u181-linux-x64.rpm 
    [root@nodeX ~]# vi .bashrc JAVA_HOME=/usr/java/latest
    CLASSPATH=.
    PATH=$PATH:$JAVA_HOME/bin 
    export JAVA_HOME
    export CLASSPATH
    export PATH
    [root@nodeX ~]# source .bashrc
    

三、安装ZooKeeper集群

  • 上传zookeeper安装包(版本3.4.6)

  • 安装

    [root@nodeX ~]# tar -zxf zookeeper-3.4.6.tar.gz -C /usr/ 
    [root@nodeX ~]# vi /usr/zookeeper-3.4.6/conf/zoo.cfg 
    tickTime=2000
    dataDir=/root/zkdata
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=node1:2887:3887
    server.2=node2:2887:3887
    server.3=node3:2887:3887
    [root@nodeX ~]# mkdir /root/zkdata
    [root@node1 ~]# echo 1 >> /root/zkdata/myid
    [root@node2 ~]# echo 2 >> /root/zkdata/myid
    [root@node3 ~]# echo 3 >> /root/zkdata/myid
    [root@nodeX ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh start /usr/zookeeper-3.4.6/conf/zoo.cfg 
    JMX enabled by default
    Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
    [root@nodeX ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh status /usr/zookeeper-3.4.6/conf/zoo.cfg
    

四、安装Hadoop

  • 上传Hadoop安装包(版本2.9.2)

  • 安装

    [root@nodeX ~]#  tar -zxf hadoop-2.9.2.tar.gz -C /usr
    [root@nodeX ~]# cd /usr/hadoop-2.9.2/
    [root@nodeX hadoop-2.9.2]# ll
    总用量 128
    drwxr-xr-x. 2 501 dialout drwxr-xr-x. 3 501 dialout drwxr-xr-x. 2 501 dialout drwxr-xr-x. 3 501 dialout drwxr-xr-x. 2 501 dialout -rw-r--r--. 1 501 dialout -rw-r--r--. 1 501 dialout -rw-r--r--. 1 501 dialout drwxr-xr-x. 3 501 dialout drwxr-xr-x. 4 501 dialout
    194 11月 13 2018 bin 20 11月 13 2018 etc
    106 11月 13 2018 include 20 11月 13 2018 lib
    239 11月 13 2018 libexec 106210 11月 13 2018 LICENSE.txt
    15917 11月 13 2018 NOTICE.txt 1366 11月 13 2018 README.txt 4096 11月 13 2018 sbin
    31 11月 13 2018 share
    
  • HDFS/YARN集群暂时不需要

五、安装Spark HA集群

  • 上传Spark安装包(版本2.4.4)

  • 安装

    [root@nodeX ~]# tar -zxf spark-2.4.4-bin-without-hadoop.tgz -C /usr
    [root@nodeX ~]# mv /usr/spark-2.4.4-bin-without-hadoop/ /usr/spark-2.4.4
    [root@nodeX ~]# cd /usr/spark-2.4.4/
    
  • 修改配置文件

    [root@nodeX spark-2.4.4]# cp conf/spark-env.sh.template conf/spark-env.sh
    [root@nodeX spark-2.4.4]# vim conf/spark-env.sh
    # 末尾添加如下配置
    
    SPARK_WORKER_INSTANCES=1
    SPARK_MASTER_PORT=7077
    SPARK_WORKER_CORES=4
    SPARK_WORKER_MEMORY=2g 
    LD_LIBRARY_PATH=/usr/hadoop-2.9.2/lib/native 
    SPARK_DIST_CLASSPATH=$(hadoop classpath) 
    export SPARK_MASTER_HOST
    export SPARK_MASTER_PORT
    export SPARK_WORKER_CORES
    export SPARK_WORKER_MEMORY
    export LD_LIBRARY_PATH
    export SPARK_DIST_CLASSPATH
    export SPARK_WORKER_INSTANCES
    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark"
    
    [root@nodeX spark-2.4.4]# cp conf/slaves.template conf/slaves 
    [root@nodeX spark-2.4.4]# vim conf/slaves
    node1
    node2
    node3
    
  • 添加环境变量配置

    [root@nodeX ~]# vi /root/.bashrc 
    HADOOP_HOME=/usr/hadoop-2.9.2
    JAVA_HOME=/usr/java/latest
    SPARK_HOME=/usr/spark-2.4.4
    PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin
    CLASSPATH=.
    export HADOOP_HOME
    export JAVA_HOME
    export SPARK_HOME
    export PATH
    export CLASSPATH
    [root@nodeX ~]# source /root/.bashrc
    
  • 启动HA集群服务

    [root@nodeX spark-2.4.4]# cp sbin/start-all.sh sbin/start-spark-all.sh
    [root@node1 spark-2.4.4]# start-spark-all.sh 
    [root@node1 spark-2.4.4]# jps
    76896 Worker  (从)
    76709 Master  (主)
    77947 Jps
    36283 QuorumPeerMain
    
    [root@node2 spark-2.4.4]# jps
    77072 Jps
    33254 QuorumPeerMain
    76831 Worker  (从)
    
    [root@node3 spark-2.4.4]# jps
    31712 QuorumPeerMain
    63570 Worker
    63822 Jps     (从)
    
    
  • 启动Master的备机

    [root@node2 spark-2.4.4]# start-master.sh 
    starting org.apache.spark.deploy.master.Master, logging to /usr/spark-2.4.4/logs/spark-root-org.apache.spark.deploy.master.Master-1-node2.out
    [root@node2 spark-2.4.4]# jps
    33254 QuorumPeerMain
    80167 Master
    80331 Jps
    76831 Worker
    

    在这里插入图片描述
    在这里插入图片描述

  • 测试主备切换

    [root@node1 spark-2.4.4]# jps
    76896 Worker
    76709 Master
    84869 Jps
    36283 QuorumPeerMain
    [root@node1 spark-2.4.4]# kill -9 76709
    [root@node1 spark-2.4.4]# jps
    76896 Worker
    36283 QuorumPeerMain
    85149 Jps
    

    发现主备切换成功
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值