Spark实战(一)集群搭建

一、单个Mater

   1.官网下载spark安装包
   2.上次安装包到linux集群上并解压
   3.配置,cd到解压目录下的conf目录中,

cd conf/
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
   在该配置文件中增加如下配置,并保持退出
export JAVA_HOME=/home/hadoop/jdk1.8.0_161
export SPARK_MASTER_IP=mini1
export SPARK_MASTER_PORT=7077

   4.重命名并修改slaves.template文件,并添加work节点的地址

mv slaves.template slaves
vi slaves
mini3
mini4
mini5
   5.保存退出将配置好的Spark拷贝到其他节点上    6.进入sbin目录下,执行start-all.sh启动集群,启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://mini1:8080/

Spark实战(一)集群搭建
   到此为止,Spark集群安装完毕,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,

二、Spark多个Master

   配置方式比较简单:
Spark集群规划:node1,node2是Master;node3,node4,node5是Worker

   1.首先安装zookeeper集群,指定node1,node2,node3上配置三个zookeeper节点。并启动

conf目录下zoo.cfg
dataDir=/home/hadoop/zookeeper/data
dataLogDir=/home/hadoop/zookeeper/log
server.1=mini1:2888:3888
server.2=mini2:2888:3888
server.3=mini3:2888:3888
在data目录中新建文件myid
根据各自的ip填写1,2,3

   2.修改spark中spark-env.sh文件,注释掉SPARK_MASTER_IP,添加zookeeper地址。

export JAVA_HOME=/home/hadoop/jdk1.8.0_161/
#export SPARK_MASTER_IP=mini1
export SPARK_MASTER_PORT=7077
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=mini1:2181,mini2:2181,mini3:2181 -Dspark.deploy.zookeeper.dir=/spark"

   3.在node1节点上修改slaves配置文件内容指定worker节点
   4.在node1上执行sbin/start-all.sh脚本,然后在node2上执行sbin/start-master.sh启动第二个Master
Spark实战(一)集群搭建

Spark实战(一)集群搭建

   如上图,一个master的状态为ACTIVE,另一个为STANDBY,当停掉master1时,zookeeper集群会将master2状态改为ACTIVE