ubuntu环境下zookeeper集群搭建(虚拟机)

ubuntu环境下zookeeper集群搭建(虚拟机)

材料

1.虚拟机
2.zookeeper的安装包
3.需要JDK的环境,本机使用的1.8版本
(可参考:https://www.cnblogs.com/lmg-jie/p/7821728.html)

下载安装包

下载安装包,两种方式:
命令直接下载: wget http://apache.osuosl.org/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
手动下载:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/ 之后上传
然后解压文件:
tar zxvf zookeeper-3.4.14.tar.gz

集群搭建

zookeeper集群最少要求为三台,因为根据zookeeper的选举规则,可用节点数量 > 总节点数量/2,才会进行leader选举,所以一般采用奇数台机器来组成集群。

(可参考:https://blog.csdn.net/adorechen/article/details/82791280)
下面以我具体虚拟机为例:
三台虚拟机IP分别为:
192.168.111.135
192.168.111.136
192.168.111.137
首先进入135机器下zookeeper下conf目录并复制zoo_sample.cfg,复制后的文件名为zoo.cfg:
在这里插入图片描述
(为什么复制之后名字为zoo.cfg后面会讲到)
修改zoo.cfg中配置,主要是添加集群的信息(只添加了最后三行):
在这里插入图片描述
service.N =AD: P:D
N指的是机器的编号(myid的值,后面会讲到)
AD指的是服务器的地址
P指的是Flower 跟 Leader的通信端口(默认2888)
D指的是选举端口(默认3888)
注意:
1:如果是真实的多台机器,可以不用修改默认端口号,但我是本地虚拟机模拟,所以P和D使用的三个不同的端口号
2:dataDir=/tmp/zookeeper 此路劲下需要创建myid文件,文件只需要写service.N中对应的那个N即可

例如:
192.168.111.135机器对应的myid值是1,192.168.111136对应的值是2,192.168.111.137对应的值是3:
在这里插入图片描述

其他配置项的含义可参考:https://blog.csdn.net/milhua/article/details/78931672

其他机器配置
将刚刚创建的zoo.cfg(不用修改)复制到其他两台服务器对应的路径下,可以直接使用scp命令复制或者创建一个空的文件,直接复制内容:
在这里插入图片描述
scp -rp 用户名@目标机器地址:目标路径 本机路径
如果报错,ssh异常或者权限不足之类参考:
https://www.cnblogs.com/Dreamer-qiao/p/5414220.html 按照他的方法还同样的错误的话,建议重启一下虚拟机

同样的myid也需要复制到另外两台服务器,同时修改值,这样准备工作就完成了:
三台服务器下的…/conf/下,都有一个相同zoo.cfg文件,同时在/tmp/zookeeper/目录下有个myid文件,且myid文件中的值不相同。对应zoo.cfg中的service.N

剩下就是启动了,进入zookeeper下的bin目录,运行的是zkServer.sh脚本,可以打开看一下,有一段:
在这里插入图片描述
再打开zkEnv.sh,有一段:

在这里插入图片描述
在这里插入图片描述
这就解释了为什么我们在搭建zookeeper集群的时候需要先安装JDK以及在/conf/目录下为什么要创建zoo.cfg的原因,可以对应修改,当然上面的不看也没什么影响。
运行,三台服务器分别执行./zkServer.sh start:
在这里插入图片描述
同时默认情况下,bin目录下会生成zookeeper.out文件也就是日志文件,执行完成之后,查看三台机器的状态(./zkServer.sh status):
135机器:

136机器:
在这里插入图片描述
137机器:
在这里插入图片描述
可以看到集群就搭建起来了。
如果报错的话打开zookeeper.out查看原因,一般来说可能的问题是myid没有创建或者没有值,zoo.cfg中端口号写成同一个等,仔细看看都能很方便的解决。
附zkServer命令,随便输入一个字母会有提示:
在这里插入图片描述

本文参考:https://www.jianshu.com/p/7038523f92d1
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值