文章目录
Spark集群高可用
01.配置Linux操作系统集群(Centos7)
(1)准备原料
(2)安装Centos7
-
1)使用自定义安装,网络勾选 NAT…一路安装…至操作系统可用
-
2)将防火墙禁了
1.查看防火墙状态:
firewall-cmd --state
2.停止防火墙:systemctl stop firewalld.service
3.禁止防火墙开机启动:systemctl disable firewalld.service
-
3)配置网络
1.网络配置路径:cd /etc/sysconfig/network-scripts
-
修改此配置文件:
vi ifcfg-ens33
(不同版本的linux系统可能会有不同的名称)
2.1 GATEWAY&NETMASK& IPADDR在 VMWare 查看
GATEWAY ——网关IP
NETMASK —— 子网掩码
IPADDR —— 网关IP (修改最后一位数字)2.2 DNS1&DNS2
在本地电脑查看
开始-cmd-输入ipconfig /all
DNS1 ——101.198…
DNS2 ——114.114…2.3 保存配置,重启网络服务
service network restart
2.4 测试
ping www.baidu.com
(3)构建NAT网络集群
- 1)将经过上述过程的已配置好网络的centos7保存为快照,然后用快照克隆出新的系统(系统2…)
- 2)修改 系统2的配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
此时只需要修改 IPADDR
- 3)到了这里 NAT网络集群就算是配置好了,为了方便,可以给每个主机起个名字(这个步骤需要NAT网络集群的每个机子都配置)
vi /etc/hosts
02.安装Spark集群
(1)准备原料
- jdk1.8
- spark(spark-2.2.0-bin-hadoop2.7)
(2)安装jdk和spark
- 1)解压缩
- tar.gz文件:
tar -zxvf jdk-8u241-linux-x64.tar.gz (-C ./java)
- -C是指定位置 ,()内为可选
- tgz文件:
tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz (-C ./java)
- tar.gz文件:
- 2)将jdk放到环境变量中
vi /etc/profile
- 在文件的末尾加入这两条命令
export JAVA_HOME=/bigdata/jdk1.8.0_241 export PATH=$PATH:$JAVA_HOME/bin
- 保存退出,重启环境变量
source /etc/profile
- 测试
JPS
(3)安装Spark集群
-
1)进入到spark安装目录的conf中,找到 slaves和spark-env,sh两个文件,若没有这两个文件,将slaves.template和spark-env.sh.template这两个文件修改为slaves和spark-env,sh
cp - i * **
(* - 要复制的文件名;**-修改名字的文件名) -
2)修改 slaves 文件
vi slaves
(因为我设置了Spark有三个工作节点,分别的主机名为node003…) -
3)修改
JAVA_HOME:
SPARK_MASTER_HOST:自己的MASTER的地址
SPARK_MASTER_PORT:7077 -
4)将上述安装和配置好的文件分发到其它系统
- shell脚本
for i in {2..5};fo scp -r /bigdata/jdk1.8.0-241/ node00$i:/bigdata;done
- 纯拷贝命令
scp -r ** hostname:**
- 需要拷贝的文件有
spark-2.2.0-bin-hadoop2.7、jdk-8u241-linux-x64
- shell脚本
-
5)在MASTER启动Spark,进入到Spark的sbin文件夹,执行
./start-all.sh
然后用JPS可以查看Spark已经运行了,其他Worker机子也随之启动,可以在本地的web网页中输入MASTER的ip地址+:8080
03.Spark集群高可用
(1)准备原料
- zookeeper-3.4.10.tar.gz
- jdk1.8
- 三台能上网的centos7操作系统(从前面的快照直接克隆即可)
(2)安装和配置zookeeper
- jdk的安装和环境变量与上面一样配置,NAT网络也是如此
- 1)解压zookeeper-3.4.10.tar.gz(与前面一样)
- 2)配置文件的修改,首先进入到zookeeper的conf文件夹中,找到 zoo.cfg文件,若没有该文件,则可以通过复制zoo_sample.cfg去得到zoo.cfg文件
- zoo.cfg
需要在dataDir/dataLogDir指定的路径下创建data和logs这两个文件夹mkdir data
、mkdir logs
- myid
在data文件夹中创建myid文件touch myid
,然后你要将自己的id写入到myid中,比如我这里是server.1就写入1…
(3)配置Spark集群高可用
- 1)首先将将zookeeper分发到其他系统中(就是拷贝本系统的zookeeper到其他两个系统中,然后修改myid即可)
- 2)修改 spark/conf/spark-env.sh文件
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node006:2181,node007:2181,node008:2181 -Dspark.deploy.zookeeper.dir=/spark"
这里主要就是修改下node006/node007/node008(视自己的情况而定) 端口号2181不需要修改
export SPARK_WORKER_CORES=4
(这个根据自己真实电脑的内核而定,最大程度使用系统资源,本电脑是四核,因此这里就是4) - 3)将这个配置文件单独拷贝到spark集群的各个系统中去
- 4)启动zookeeper 接着重新启动spark,至此,spark集群高可用就全部配置完成了!!!
- zoo.cfg
踩了很多坑才配置成功,不容易!!!
- 关注「一个热爱学习的计算机小白」公众号 ,对作者的小小鼓励,后续更多资源敬请关注。