版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013305783/article/details/84984029 </div>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
<div id="content_views" class="markdown_views prism-atom-one-dark">
<!-- flowchart 箭头图标 勿删 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<h1><a name="t0"></a><a id="Mater_0" target="_blank"></a>一、单个Mater</h1>
1.官网下载spark安装包
2.上次安装包到linux集群上并解压
3.配置,cd到解压目录下的conf目录中,
cd conf/
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
- 1
- 2
- 3
export JAVA_HOME=/home/hadoop/jdk1.8.0_161/
export SPARK_MASTER_IP=192.168.62.131
export SPARK_MASTER_PORT=7077
#export export SPARK_MASTER_HOST=192.168.62.131
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=512M
export SPARK_LOCAL_IP=192.168.62.131
export PYTHONH
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
4.重命名并修改slaves.template文件,并添加work节点的地址
mv slaves.template slaves
vi slaves
mini3
mini4
mini5
- 1
- 2
- 3
- 4
- 5
6.进入sbin目录下,执行start-all.sh启动集群,启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://mini1:8080/
ubuntu18.04下要注意hostname,因为虚拟机是直接克隆的,导致每个机器hostname都一致,就会导致上面那种worker无法连接到master节点上,运行程序的时候会提示Initial job has not accepted any resources; check your cluster UI to ensure that workers are registe。ubuntu18.04下修改/etc/cloud/cloud.cfg 将preserve_hostname: false修改为preserve_hostname: true,然后再去/etc/hostname 修改主机名。
到此为止,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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
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"
- 1
- 2
- 3
- 4
3.在node1节点上修改slaves配置文件内容指定worker节点
4.在node1上执行sbin/start-all.sh脚本,然后在node2上执行sbin/start-master.sh启动第二个Master