CentOS 搭建 zookeeper 集群搭建

在一台服务器搭建 zk 伪集群,也就是同一台机器上跑几个 zk,下面搭建三台 zk 的伪集群。

安装

下载并解压 zk 压缩包

// 下载带 bin 的包,不然可能会报 Error: Could not find or load main class ... 错误
$ wget http://archive.apache.org/dist/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
$ tar zxvf apache-zookeeper-3.6.1-bin.tar.gz

移动 apache-zookeeper-3.6.1 到指定目录,这里可以根据自己的意愿移动到指定的目录

$ mv apache-zookeeper-3.6.1-bin /usr/tools/apache-zookeeper-3.6.1
配置
进入 apache-zookeeper-3.6.1 的 conf 目录下,并复制配置文件
$ cd /usr/tools/apache-zookeeper-3.6.1
$ cp zoo_sample.cfg zoo-1.cfg

vi zoo1.cfg 打开配置文件

tickTime=2000  # zk 服务器之间,或者客户端与服务器之间维持心跳的时间间隔,每个 tickTime 发送一个请求
initLimit=10 # zk 中 leader 接受 follwer 服务器初始化连接时,最长能接受多少个 tickTime 的时间间隔,2000 * 10 = 20000(ms) 
syncLimit=5 # Leader 与 follwer 之间发送消息,请求和应答的时间长度,最长不超过多少个 tickTime 的时间间隔
dataDir=/usr/tools/apache-zookeeper-3.6.1/data1  # zk 保存目录的地方
clientPort=2181  #客户端连接 zk 服务器的端口,zk 监听这个端口,接受客户端请求
#server.a=b:c:d , a:表示第几号服务器,b:服务器的ip地址,
#c:集群中与 leader 交换信息的端口,d:当 leader 服务器挂了,通过这个端口来重新选举 leader
#因为是在同一台机器上搭建的伪集群,所有 c,d 都不能一样
server.1 = 127.0.0.1:2881:3881  
server.2 = 127.0.0.2:2882:3882
server.3 = 127.0.0.3:2883:3883

将 zoo1.cfg 分别复制两份 zoo2.cfg, zoo3.cfg

$ cp zoo1.cfg zoo2.cfg

修改 zoo2.cfg 文件

dataDir=/usr/tools/apache-zookeeper-3.6.1/data2 
clientPort=2182
$ cp zoo1.cfg zoo3.cfg

修改 zoo3.cfg 文件

dataDir=/usr/tools/apache-zookeeper-3.6.1/data3
clientPort=2183

/usr/tools/apache-zookeeper-3.6.1 目录下,分别创建 data1,data2,data3 目录。并且在每个目录下创建 myid 文件,写入当前 zk 服务器的 id, 用于标识 zk 服务器。

$ cd /usr/tools/apache-zookeeper.3.6.1
$ mkdir data1 data2 data3 
$ cd  /usr/tools/apache-zookeeper.3.6.1/data1
$ vi myid
1
$ cd  /usr/tools/apache-zookeeper.3.6.1/data2
$ vi myid
2
$ cd  /usr/tools/apache-zookeeper.3.6.1/data3
$ vi myid
3

启动

$ cd /usr/tools/apache-zookeeper-3.6.1/bin
$ ./zkServer.sh start-foreground conf/zoo1.cfg
$ ./zkServer.sh start-foreground conf/zoo2.cfg
$ ./zkServer.sh start-foreground conf/zoo3.cfg

使用 start-foreground 前台启动程序的命令,程序会在当前 console 中运行,如果使用 supervisord 管理 zk 进程的话,则需要使用 start-foreground 启动,否则会报错。
Zookeeper 服务命令

1. 启动ZK服务:       sh bin/zkServer.sh start
2. 查看ZK服务状态:   sh bin/zkServer.sh status
3. 停止ZK服务:       sh bin/zkServer.sh stop
4. 重启ZK服务:       sh bin/zkServer.sh restart

zkCli 连接服务器命令
连接服务器,可以连接本地,或者远程 zk 服务器。
使用命令 ./zkCli.sh -server IP:端口

$ cd /usr/tools/apache-zookeeper-3.6.1/bin
#连接本地 zk 服务器
$ ./zkCli.sh -server localhost:2182

参考链接:
https://dubbo.apache.org/zh-cn/docs/admin/install/zookeeper.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值