搭建zookeeper集群,以及遇到的个别问题

采用伪集群模式,模拟线上的zookeeper集群;

1、下载需要的zookeeper版本,

进入linux需要安装的目录,cd /usr/local

wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz

解压到当前目录下,那么就在这里开始安装了

tar -zxvf zookeeper-3.4.5.tar.gz

 

2、为3个实例分别创建不同路径: mkdir -m 777 zookeeper01,mkdir -m 777 zookeeper02,mkdir -m 777 zookeeper03

拷贝刚才解压的zookeeper里面内容,到上面3个实例目录:

cp * -rf /usr/local/zookeeper01/

cp * -rf /usr/local/zookeeper02/

cp * -rf /usr/local/zookeeper03/

 

3、依次进入每个实例的下面conf路径,拷贝模板配置文件,然后修改:

cp zoo_sample.cfg  zoo.cfg

vim  zoo.cfg

注意,上面的 dataDir=/usr/local/zookeeper01/data 路径必须要有;

zookeeper02,zookeeper03以此类推创建拷贝配置文件,每个实例需要有自己设置的dataDir路径,不能重复,

zoo.cfg配置文件中的 server.*,代表的就是myid配置文件中的值,相对应,一会儿我们就要创建myid并且赋值;

例如,在zookeeper01实例中配置server.1=172.16.22.97:2888:3888,那么他的dataDir=/usr/local/zookeeper01/data路径下面

需要配置myid文件内容为1,

此外172.16.22.97代表ip地址,2888代表选择Leader的端口,3888代表zookeeper集群通信的端口;

 

4、在上面一步说到,配置的dataDir路径下面,创建myid文件,

 

echo 1 > /usr/local/zookeeper01/data/myid

echo 2 > /usr/local/zookeeper02/data/myid

echo 3 > /usr/local/zookeeper03/data/myid

 

 

5、基本配置完成,现在开始启动,各个zookeeper实例,进入到各个bin目录下,分别启动  ./zkServer.sh start

这里尝试启动失败,找一下原因;

去看一下日志文件:

vim  /usr/local/zookeeper01/bin/zookeeper.out

上面说读取配置文件报错,我们再去看一下配置文件:

可能是 server.1=172.16.22.97:2888:3888,这一行后面,带了非法字符,删除后面多余部分即可,zookeeper02和zookeeper03实例可能也有相同配置问题,一起修改,重启:

去看日志,又报新的错:

说链接不上,3890端口服务,我们去启动刚才设置端口为3890服务的zookeeper03实例,

当去启动zookeeper03实例的时候,发现2081端口已经被占用了,因为我们在同一台机器上模拟搭建的,所以不能用一样的端口,然后去修改一下,zookeeper02实例的配置文件也需要修改,

zookeeper02的zoo.cfg改为 clientPort=2182,zookeeper03的zoo.cfg改为 clientPort=2183:

然后我们把3个zookeeper实例都启动起来:

从上面截图可以看到,zookeeper集群搭建好了,zookeeper03被选举成了leader,其他zookeeper01和zookeeper02是follower;

然后通过客户端登录一下,./zkCli.sh -server 172.16.22.97:2183,没问题可以登录:

如果你启动,还会遇到其他问题,例如配置文件中路径指定或者未创建问题,网络原因、java环境问题,或者防火墙等;

 

其他参考帖子:https://blog.51cto.com/zero01/2107174

https://blog.csdn.net/qq_22211217/article/details/80639492

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值