首先搭建HA模式必须要有zookeeper集群。 同时zookeeper正常安装并启动。
主机规划图(Spark-HA模式):
1. 在搭建的时候,要把先启动zookeeper进程。
2. 进入spark的conf文件夹修改spark-env.sh文件:
可以使用Notepad++来连接Linux系统,通过Notepad++来修改配置文件。
//通过Notepad++来修改spark-env.sh文件。
//向spark-env.sh添加以下内容:
#注释掉如下内容:
#export SPARK_MASTER_IP=centosone
#export SPARK_WORKER_WEBUI_PORT=10000
export JAVA_HOME=/opt/module/jdk1.8.0_11
#添加上如下内容:
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=centostwo:2181,centosthree:2181,centosfour:2181
-Dspark.deploy.zookeeper.dir=/spark01"
注意:在Dspark.deploy.zookeeper.url的值是zookeeper的地址和端口号。端口号为2181, 地址就是zookeeper所在主机的主机名.
截图如下
3. 修改slaves文件
//将配置文件模板改成可以用的配置文件
mv slaves.template slaves
//向slaves文件中添加如下内容:
centostwo
centosthree
4. 将spark的安装目录分发到其他两台主机上。分发到centostwo, centosfour主机上。
分别分发到centostwo, centosthree主机中,此时centostwo,centosthree中就有spark-2.3.4-bin-hadoop2.6
[root@centosone module]# scp -r spark-2.3.4-bin-hadoop2.6/ centostwo:`pwd`
[root@centosone module]# scp -r spark-2.3.4-bin-hadoop2.6/ centosthree:`pwd`
5. 进入spark安装目录下的sbin来启动进程。
5.1 先启动一个master进程和两个worker进程
//在centosone中输入以下指令来启动master进程, worker进程.
[root@centosone sbin]# ./start-all.sh
// 此时centosone上有master进程, centostwo上有worker进程, centosthree有worker进程。
centosone: master
centostwo: worker
centosthree: worker
5.2 : 后在centosthree主机上来单独启动master进程
在sbin目录下单独启动master进程。
[root@centosthree sbin]# ./start-master.sh
此时三个主机上有两个master进程和三个worker进程
centosone: master
centostwo: worker
centosthree : worker master
启动进程截图如下:
6. 使用WEB UI来访问spark
centosone节点的web ui界面
此时这个centosone是alive
centosthree节点访问WEB ui界面
此时这centosthree是standby