一、下载spark的压缩包
解压
tar -zxvf 压缩名
给解压缩后的文件名重新命名为spark
mv spark-2.3.2-bin-hadoop spark
二、修改配置文件
进入spark/conf目录
把spark-env.sh.template文件复制一份并创建文件spark-env.sh
cp spark-env.sh.template spark-env.sh
spark-env.sh配置如下:
export JAVA_HOME=/opt/app/jdk1.8.0_201
export SPARK_MASTER_HOST=lemon1
export SPARK_MASTER_PORT=7077
复制slaves.template,并重命名为slaves
cp slaves.template slaves
配置自己的主机名如下:
lemon2
lemon3
三、分发文件
(1)给另外两台虚拟机分发文件
scp -r /opt/app/spark lemon2:/opt/app
scp -r /opt/app/spark lemon3:/opt/app
四、启动spark集群
启动路径跟Hadoop类似
进入到spark/sbin/start-all.sh
在
sbin/start-all.sh
五、查看进程
jps一下
Master代表主节点
Works代表从节点
六、查看spark管理网页
spark的端口号是8080
192.168.128.171:8080
主机名:8080
七、配置spark的环境变量
SPARK_HOME
PATH 填一下
这种可以在任何文件目录下执行spark的脚步文件
八、搭建高可用HA的spark
需要安装zookeeper 以防另外一台服务器挂机,可以选举另外一台服务器继续运行
Zookeeper安装教程看之前的
九、配置高可用的soark-env.sh文件
vi spark-env.sh
只需把export SPARK_MASTER_HOST这一栏注释即可
配置如下:
#Java的安装路径
export JAVA_HOME=/opt/app/jdk1.8.0_201
#Hadoop的配置路径,与hdfs的存储文件有关
export HADOOP_CONF_DIR=/opt/app/hadoop-2.7.3/etc/hadoop
#export SPARK_MASTER_HOST=lemon1
#指定master的端口号
export SPARK_MASTER_PORT=7077
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=lemon1:2181,lemon2:2181,lemon3:2181
-Dspark.deploy.zookeeper.dir=/spark"
十、启动spark HA集群
(1)在3台虚拟机分别启动zookeeper服务
zkServer.sh start
(2)在启动spark集群
sbin/start-all.sh
(3)在到第二台虚拟机单独启动master节点
sbin/start-master.sh
(4)访问master备用节点
Lemon2:8080 可查看到master在备用状态
模拟单点故障模式
关闭第一台虚拟机的master节点
刷新第二台虚拟机的节点
从备用节点变为主节点
说明zookeeper可以解决单点故障的问题,就这是zookeeper存在的魅力
十一、如何一键开启或关闭3台虚拟机的zookeeper
制定以shell文件编程的文件 start_zk.sh
(1)一键开启zookeeper文件编程: vi start_zk.sh
#/bin/sh
for host in lemon1 lemon2 lemon3
do
ssh $host”source /etc/profile;zkServer.sh start”
Echo “$host zk is running”
done
(2)一键关闭zookeeper文件编程: vi stop_zk.sh
#/bin/sh
for host in lemon1 lemon2 lemon3
do
ssh $host”source /etc/profile;zkServer.sh stop”
Echo “$host zk is stoping”
done