Spark2.4.5、Scala2.11高可用环境搭建
1、下载安装文件
链接: https://pan.baidu.com/s/1dXuJYrUM1l6tOLSj41SyyQ
提取码: ustf
2、打开虚拟机、mobax工具连接
3、先上传安装文件到一台虚拟机的software文件夹中,后面再将安装好的文件传输(scp)到另外两台虚拟机
4、Scala安装
1、解压到 /opt 下
tar -zxvf scala-2.11.12.tgz -C /opt
2、改名成 scala211
cd /opt/
mv scala-2.11.12/ scala211
3、配置环境变量
vi /etc/profile
添加:
export SCALA_HOME=/opt/scala211
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=$SCALA_HOME/bin:$PATH
source一下:
source /etc/profile
验证:
scala -version
如图显示 即为Scala安装成功
5、Spark完全分布式高可用环境搭建
1、解压到/opt 目录下
tar -zxvf spark-2.4.5-bin-hadoop2.6.tgz -C /opt
2、改名成 spark245
cd /opt/
mv spark-2.4.5-bin-hadoop2.6/ spark245
3、配置环境变量
vi /etc/profile
添加:
export SPARK_HOME=/opt/spark245
export PATH=$SPARK_HOME/bin:$PATH
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
source一下:
source /etc/profile
4、修改配置文件:spark-env.sh
cd /opt/spark245/conf/
cp spark-env.sh.template spark-env.sh
vi sprk-env.sh
添加:
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
export JAVA_HOME=/opt/java8
export SCALA_HOME=/opt/scala211
export SPARK_HOME=/opt/spark245
#export SPARK_MASTER_IP=hadoop001
export SPARK_EXECUTOR_MEMORY=1G
#用于配置高可用,不能换行,-之前有空格
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop001:2181,hadoop002:2181,hadoop003:2181 -Dspark.deploy.zookeeper.dir=/spark"
5、添加主机列表:
vi /etc/hosts
添加:
192.168.116.50 hadoop001
192.168.116.51 hadoop002
192.168.116.52 hadoop003
6、修改配置文件:slaves
cp slaves.template slaves
vi slaves
添加:
hadoop001
hadoop002
hadoop003
7、修改配置文件:spark-defaults.conf
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
添加:
#指定spark的主节点,可以指定多个,用","分割,作为standby,可以进行切换
spark.master spark://hadoop001:7077,hadoop002:7077
如果不指定,默认为本地模式(local)
!!!!将其注释后,可以在命令行手动指定master节点
8、传输Scala、Spark文件到另外两台虚拟机(这一步需要提前做三台虚拟机的互信)
scp -r /opt/scala211/ hadoop002:/opt/
scp -r /opt/scala211/ hadoop003:/opt/
scp -r /opt/spark245/ hadoop002:/opt/
scp -r /opt/spark245/ hadoop003:/opt/
scp -r /etc/profile hadoop003:/etc/profile
9、其他两台虚拟机都要 source一下
source /etc/profile
source /etc/profile
6、验证
验证 高可用模式是否成功
1、启动zookeeper集群,在hadoop001,hadoop002,hadoop003节点分别启动zookeeper。
zkServer.sh start
2、在hadoop001节点启动
cd /opt/spark245/sbin
./start-all.sh
3、在hadoop002上,手动启动master
cd /opt/spark245/sbin/
./start-master.sh
jps看一下进程:
4、web页面看一下 输入:http://192.168.116.50:8080/
状态为 ALIVE
输入:http://192.168.116.51:8080/
状态为 STANDBY
至此说明集群正常启动!
高可用测试(看看是否是假的高可用)
1、如图所示,hadoop001是Alive状态的master,通过jps看下master进程的Id,使用kill -9 Id 杀死master(alive)
[root@hadoop001 conf]# jps
63089 Worker
62578 QuorumPeerMain
62964 Master
71402 Jps
[root@hadoop001 conf]# kill -9 62964
2、查看hadoop002状态是否自动切换成ALIVE
如上图显示状态自动切换成ALIVE
即为Spark 完全分布式高可用环境搭建 成功!