Linux环境 spark集群搭建 和基于zookeeper集群搭建

11 篇文章 0 订阅
5 篇文章 0 订阅

借鉴地址

转载(报错处理): https://blog.csdn.net/Abandon_Sun/article/details/76686398
转载(虚拟机克隆问题):https://blog.csdn.net/qq_31089125/article/details/95728140
转载(Linux常用命令):https://www.cnblogs.com/wujunbin/p/7465538.html
转载(spark安装运行在webUI界面不显示worker):https://blog.csdn.net/qq1187239259/article/details/79489800
转载(Spark项目实战-集群SSH免密码登录):https://blog.csdn.net/Anbang713/article/details/82215339

软件下载

linux
https://pan.baidu.com/s/1kS9XrddRdkCMwQKC1A1otg
提取码:kgcm
jdk1.8
https://pan.baidu.com/s/1ZqNldVY9ZylL4PwHQAxRLQ
提取码:h33s
WinSCP_5.15.2
https://pan.baidu.com/s/1fAZOyhASb12jeAIiE-xI_A
提取码:kxld
VMware spark-2.3.3-bin-hadoop2.7
https://pan.baidu.com/s/1ynBBzzrOMrG3y7KUv2aIzw
提取码:qcvs

以上工具软件都可自行百度下载

配置环境变量

jdk配置

WinSCP可直接托文件上传,需要关闭虚拟机的防火墙service iptables stop
vim /etc/profile
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190720165736634.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDM4NTQxOQ==,size_16,color_FFFFFF,t_70

export JAVA_HOME=/home/usr/java/jdk1.8.0_11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

export SPARK_HOME=/home/usr/java/spark-2.3.3-bin-hadoop2.7
export PATH=$PATH:${SPARK_HOME}/bin

vim /root/.bashrc
在这里插入图片描述
这里的的坑比较大,一直没有设置,目前我只是在worker设置了,最好全部都设置,后面会用到

source /etc/profile 使设置的环境变量起作用

spark配置

解压后修改conf文件 删除指定文件后缀
修改前
在这里插入图片描述
修改后
在这里插入图片描述设置环境变量
vim spark-env.sh
在这里插入图片描述
export JAVA_HOME=/home/usr/java/jdk1.8.0_11
export SPARK_MASTER_HOST=192.168.1.105(作为master的ip
export SPARK_MASTER_POST=7077(默认7077

vim slaves 添加所有虚拟机的ip或者主机名(主机名需要添加映射关系)
在这里插入图片描述
添加映射关系 vim /etc/hosts
在这里插入图片描述

虚拟机克隆
选定设置好的虚拟机
虚拟机–>管理–>克隆

克隆完成修改主机名

vim /etc/sysconfig/network
在这里插入图片描述

查看虚拟机是否可以上网(右上角两个小电脑的图标)

虚拟机–>设置–>网络适配器–>桥接模式
得到ip 修改完主机名后去完善制定文件
需要master 启动时通信的worker (参考上文):vim slaves
添加映射关系(参考上文):vim /etc/hosts

启动
在这里插入图片描述

成功
在这里插入图片描述

基于zookeeper的Spark高可用集群配置

普通的spark集群只有一个master若干worker,一旦master宕机,就会影响到程序

zk(zookeeper) 的搭建方式比较多:
1.单机模式
2.集群模式
3.伪集群模式

有兴趣的可以看看:转载:Zookeeper简介与集群搭建 https://blog.csdn.net/qiushisoftware/article/details/79043379

我采用的是zk集群搭建:

1.准备zk::http://apache.fayea.com/zookeeper/
2.准备虚拟机:克隆一个上面已经配置好的虚拟机谨记修改主机名(vi /etc/sysconfig/network),如:克隆CentOS-1 ;
3.配置zk环境

3.1:上传文件,解压 ==tar -zxvf ==
3.2:修改conf下zoo_sample.cfg改名为zoo.cfg(mv zoo_sample.cfg zoo.cfg)
3.3:在解压后zookeeper文件夹下 建一个data文件夹(mkdir)进入data创建一个文件 vi myid 里面的数字随便写一个,后面会使用。效果如下图:
在这里插入图片描述

3.4:修改datadir,路径为刚才的data路径,(默认值存在虚拟机重启后会被清理掉) ,增加server.0=192.168.X.X:2888:3888 2888.3888 zk的端口
server.A=B:C:D其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
在这里插入图片描述

3.5:克隆配置好的zk虚拟机,我克隆了三个(谨记修改主机名(vi /etc/sysconfig/network)
3.6:修改刚才创建的myid文件的数字,
3.7:获取三台机器的ip(ifconfig)
3.8:修改每台机器conf文件 数字和IP对应
3.9:如果写的主机名则需要映射关系如图
在这里插入图片描述>3.10设置完成,启动,在每个zk目录下分别启动

启动:bin/zkServer.sh start
在这里插入图片描述

全部启动完毕查询状态:bin/zkServer.sh status
在这里插入图片描述在这里插入图片描述
以上zk搭建完毕(步骤比较粗糙,忽略的还请指出,谢谢)

4.修改之前已经可以运行的master机器
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=192.168.X.X:2181,192.168.X.X:2181,192.168.X.X:2181 -Dspark.deploy.zookeeper.dir=/spark"(url写zk的地址,注意两边的双引号)
在这里插入图片描述
5.克隆若干master谨记修改主机名(vi /etc/sysconfig/network)):
6.如果有映射关系修改其他克隆的master映射关系 vi /etc/hosts
7.选择一个master启动 sbin/start-all.sh
8.其他的master启动 sbin/start-master.sh
在这里插入图片描述
在这里插入图片描述
kill -9 pid pid=线程id 模拟机器宕机—结束原来活跃的master线程,zk会帮你把备用的master投票选择一个活跃起来,继续程序。

坑比较多,依附于百度和美女大神的帮助
如有错误请指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值