ZooKeeper集群搭建
1.准备工作
1.1准备三台虚拟机
192.168.17.128 VM01
192.168.17.129 VM02
192.168.17.130 VM03
1.2修改虚拟机主机名
# 输入以下命令,编辑文件vim /etc/hosts
按i进入编辑,在文件末尾加入以下内容
192.168.17.128 VM01
192.168.17.129 VM02
192.168.17.130 VM03
按Esc,输入:wq,保存并退出
重启虚拟机
# 执行命令,重启虚拟机reboot
输入hostname查看效果
hostname
重复上述步骤,在其他虚拟机上执行相同操作
1.3配置ssh服务,进行免密登录
输入ssh-keygen -t rsa,之后一直回车
ssh-keygen -t rsa
输入ssh-copy-id +主机名(密码是你的root密码)
ssh-copy-id +主机名
给自己做免密登录
重复上述步骤,在其他虚拟机上也做免密登录
1.4关闭防火墙
# 关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
重复上述步骤,在其他虚拟机上执行相同操作
1.5准备ZooKeeper安装包
在官网下载自己做需要的资源https://zookeeper.apache.org/releases.html
在虚拟机/opt/目录下创建文件目录module,并将ZooKeeper安装包上传至/opt/module/目录下
2.解压资源
# 进入/opt/module/目录下cd /opt/module
# 解压tar-zxvf apache-zookeeper-3.8.0-bin.tar.gz
# 将解压后的文件移动至zookeeper目录下mv apache-zookeeper-3.8.0-bin zookeeper
注:根据实际情况将文件名替换为自己上传的安装包
3.修改配置文件
# 进入/zookeeper/conf目录cd ./zookeeper/conf
# 添加zookeeper配置文件cp zoo_sample.cfg zoo.cfg
# 创建数据存放目录mkdir /opt/module/zookeeper/conf/data
#编辑zoo.cfgvim zoo.cfg
# 添加如下内容server.1=VM01:2188:2888
server.2=VM02:2188:2888
server.3=VM03:2188:2888
# 修改dataDirdataDir=/opt/module/zookeeper/conf/data
# 配置文件保存退出后,进入data目录cd ./data
# 生成myid文件,指定myid服务号echo"1"> myid
4.将ZooKeeper目录分发到其他节点
# 将zookeeper目录分发到其他节点scp-r /opt/module/zookeeper VM02:/opt/module/zookeeper
scp-r /opt/module/zookeeper VM03:/opt/module/zookeeper
5.修改其他节点的myid文件
登录VM02节点
#指定myid服务号为 2vim /opt/module/zookeeper/conf/data/myid
登录VM03节点
#指定myid服务号为 3vim /opt/module/zookeeper/conf/data/myid
6.编写操作ZooKeeper集群的脚本
# 进入zookeeper的bin目录下cd /opt/module/zookeeper/bin
# 创建zookeeper启动脚本vim zk.sh
# 添加如下内容#!/bin/bashcase$1in"start"){foriin VM01 VM02 VM03
doecho -------------------------------- $i zookeeper 启动 ---------------------------
ssh$i"/opt/module/zookeeper/bin/zkServer.sh start"done};;"stop"){foriin VM01 VM02 VM03
doecho -------------------------------- $i zookeeper 停止 ---------------------------
ssh$i"/opt/module/zookeeper/bin/zkServer.sh stop"done};;"status"){foriin VM01 VM02 VM03
doecho -------------------------------- $i zookeeper 状态 ---------------------------
ssh$i"/opt/module/zookeeper/bin/zkServer.sh status"done};;esac
修改脚本权限
# 保存退出后,修改zk.sh脚本执行权限chmod +x ./zk.sh
脚本的命令说明
# 启动集群命令
./zk.sh start
# 停止集群命令
./zk.sh stop
# 查看集群状态命令
./zk.sh status
7.启动集群
# 进入zookeeper目录cd /opt/module/zookeeper
# 启动zookeeper集群
./bin/zk.sh start
注:有的zk集群启动会报如下错误
检查以下java环境是否正确
# 检查java环境java-version
如果java环境正确,则编辑zkEnv.sh
启动zk时,首先会加载zkEvn.sh脚本文件
# 编辑zkEnv.shvim /opt/module/zookeeper/bin/zkEnv.sh
通过配置文件发现,在加载配置文件的时候他会验证JAVA_HOME环境变量,验证不通过的话就会报下面错误
Error: JAVA_HOME is not set and java could not be found inPATH.
直接把JAVA_HOME的配置信息,写在zkEvn.sh脚本文件
之后就可以顺了启动了
版权归原作者 梦中人w 所有, 如有侵权,请联系我们删除。