此搭建过程通过xshel远程连接操作
节点 名称与 ip
master 192.168.116.200
slave1 192.168.116.201
slave2 192.168.116.202
1.下载zookeeper压缩包
2.使用xftp上传到/opt目录下解压到/usr/local/src下
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/src/
改名(/usr/local/src) 方便记忆
mv zookeeper-3.4.6 zookeeper
3.配置环境变量添加如下配置并使其生效
vi /etc/profile
export ZOOKEEPER_HOME=/usr/local/src/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
source /etc/profile
3.将修改内容分发给其他节点
scp /etc/profile root@slave1:/etc/
scp /etc/profile root@slave2:/etc/
4.修改配置文件
先创建好 /var/zk目录
mkdir -p /usr/local/src/zookeeper/var/zk
因为原配置文件zoo.cfg中dataDir tmp目录存放的是临时文件 一段时间会自动删除 这对于咱们的使用是不太友好的
然后进入/usr/local/src/zookeeper-3.4.6/conf目录
cd /usr/local/src/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
将“dataDir=/tmp/zookeeper”修改为“dataDir=/var/zk”
为了选举,需要在文件最后增加配置
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
5.Zookeeper必须把服务器编号写入文件中,启动的时候会读取这个文件,核对是否一致。
通过vi myid 新建标号文件,与zoo.cfg文件中配置的保持一致。(每个节点)
cd /usr/local/src/zookeeper/var/zk
vi myid
maser节点 中填入 1
6.将配置好的文件发送到其他节点
回到/usr/local/src下
scp -r zookeeper/ root@slave1:/usr/local/src
scp -r zookeeper/ root@slave2:/usr/local/src
7.修改slave1、slave2两个节点的 myid文件
slave1节点 中 填入2
slave2 节点中 填入 3
8.运行(三个节点)
zkServer.sh start
显示启动成功并不是真正成功了
要查看状态检查一下
9.查看状态
zkServer.sh status
可能会出现下面情况
大概率是因为虚拟机防火墙没有关闭
手工关闭后问题就解决了。
关闭防火墙命令:
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止启动防火墙
10.正确配置后查看各节点zookeeper启动状态出现两个follower 一个 leader说明配置正确
如果还不是启动不了 建议仔细检查配置文件