目录
Spark单机模式安装
准备工作:
- 安装JDK
- 上传spark安装包
[root@lj01 software]# tar -xvf spark-2.0.1-bin-hadoop2.7.tgz //解压
[root@lj01 software]# cd spark-2.0.1-bin-hadoop2.7/conf/ //进入conf目录
[root@lj01 conf]# cp spark-env.sh.template spark-env.sh
[root@lj01 conf]# vim spark-env.sh //修改第26行
SPARK_LOCAL_IP=lj01
[root@lj01 conf]# cd /home/software/spark-2.0.1-bin-hadoop2.7/bin/ //进入bin启动spark
在bin目录下执行:sh spark-shell --master=local
浏览器访问:lj01:7077
Spark集群模式安装
1.配置spark-env.sh文件
[root@lj01 conf]# vim spark-env.sh
SPARK_LOCAL_DIRS=/home/software/spark-2.0.1-bin-hadoop2.7/tmp
export JAVA_HOME=/home/presoftware/jdk1.8
2.在conf目录下,编辑slaves文件
[root@lj01 conf]# cp slaves.template slaves
[root@lj01 conf]# vim slaves
lj01
lj02
lj03
[root@lj01 conf]# scp -r /home/software/spark-2.0.1-bin-hadoop2.7 lj02:/home/software/
[root@lj01 conf]# scp -r /home/software/spark-2.0.1-bin-hadoop2.7 lj03:/home/software/
搭建节点多的话,可以使用shell脚本
for i in {2...3};do scp -r /home/software/spark-2.0.1-bin-hadoop2.7 lj0$i:/home/software/; done
测试:
1、如果你想让 01 虚拟机变为master节点,则进入01 的spark安装目录的sbin目录
执行: sh start-all.sh
2、通过jps查看各机器进程,
lj01:Master +Worker
lj02:Worker
lj03:Worker
浏览器访问:lj01:8080
Spark高可用集群模式安装在刚刚安装的基础上,目前是1个Master,3个Work,在lj01节点上启动Spark集群。
Spark集群安装完毕,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,配置方式比较简单:
Spark集群规划:lj01,lj02是Master;lj01,lj02,lj03是Worker
安装配置zk集群,并启动zk集群
停止spark所有服务,修改配置文件spark-env.sh,
在该配置文件中删掉SPARK_MASTER_IP并添加如下配置
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1,zk2,zk3 -Dspark.deploy.zookeeper.dir=/spark"
在lj01上执行sbin/start-all.sh脚本,然后在lj02上执行sbin/start-master.sh启动第二个Master
zookeeper作用;1.选举活跃master,2.保存活跃master的信息。3.保存所有worke的资源信息和资源使用情况(为了故障切换)