一、下载Spark安装包
1、从官网下载
http://spark.apache.org/downloads.html
2、从微软的镜像站下载
http://mirrors.hust.edu.cn/apache/
3、从清华的镜像站下载
https://mirrors.tuna.tsinghua.edu.cn/apache/
二、安装基础
1、Java8安装成功
2、zookeeper安装成功
3、hadoop-3.2.0 HA安装成功
4、Scala安装成功(不安装进程也可以启动)
三、Spark安装过程
1、上传并解压缩
2、进入spark/conf修改配置文件
(1)进入配置文件所在目录
[root@cdh-node01 apps]# cd spark-2.4.0-bin-hadoop2.7/conf/
(2)复制spark-env.sh.template并重命名为spark-env.sh,并在文件最后添加配置内容
[root@cdh-node01 conf]# cp spark-env.sh.template spark-env.sh
export JAVA_HOME=/home/apps/jdk1.8.0_171
#export SPARK_MASTER_IP=cdh-node01
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
#export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=500m
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_HOME=/home/apps/spark-2.4.0-bin-hadoop2.7
export SPARK_JAR=/home/apps/spark-2.4.0-bin-hadoop2.7/jars/*.jar
export PATH=$SPARK_HOME/bin:$PATH
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/home/apps/spark-2.4.0-bin-hadoop2.7/jars/mysql-connector-java-5.1.32-bin.jar
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=cdh-node02:2181,cdh-node03:2181,cdh-node04:2181 -Dspark.deploy.zookeeper.dir=/spark"
注:
#export SPARK_MASTER_IP=hadoop1 这个配置要注释掉。
(3)复制slaves.template成slaves
[root@cdh-node01 conf]# vim slaves
(4)将安装包分发给其他节点
[root@cdh-node01 apps]# scp -r spark-2.4.0-bin-hadoop2.7/ cdh-node02:$PWD
[root@cdh-node01 apps]# scp -r spark-2.4.0-bin-hadoop2.7/ cdh-node03:$PWD
[root@cdh-node01 apps]# scp -r spark-2.4.0-bin-hadoop2.7/ cdh-node04:$PWD
4、配置环境变量
所有节点均要配置
[root@cdh-node01 apps]# vim /etc/profile
#Spark
export SPARK_HOME=/home/apps/spark-2.4.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
[root@cdh-node01 apps]# source /etc/profile
四、启动
1、先启动zookeeper集群
cdh-node02/03/04节点全都执行
[root@cdh-node02 sbin]# zkServer.sh start
[root@cdh-node03 sbin]# zkServer.sh start
[root@cdh-node04 sbin]# zkServer.sh start
2、在启动HDFS集群
任意一个节点执行即可
[root@cdh-node01 apps]# start-dfs.sh
3、在启动Spark集群
在一个节点上执行
[root@cdh-node01 apps]# cd spark-2.4.0-bin-hadoop2.7/sbin/
[root@cdh-node01 sbin]# ./start-all.sh
4、查看进程
5、问题
查看进程发现spark集群只有cdh-node01成功启动了Master进程,其他3个节点均没有启动成功,需要手动启动,进入到//home/apps/spark-2.4.0-bin-hadoop2.7/sbin目录下执行以下命令,3个节点都要执行
[root@cdh-node04 ~]# cd /home/apps/spark-2.4.0-bin-hadoop2.7/sbin
[root@cdh-node04 sbin]# start-master.sh
五、验证
1、查看Web界面Master状态
cdh-node01是ALIVE状态,cdh-node02、cdh-node03和hadoop4均是STANDBY状态
2、验证HA的高可用
手动干掉cdh-node01上面的Master进程,观察是否会自动进行切换
干掉cdh-node01上的Master进程之后,再次查看web界面
cdh-node01节点,由于Master进程被干掉,所以界面无法访问