千家信息网

ZooKeeper在单机和集群环境下怎么安装搭建及使用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"ZooKeeper在单机和集群环境下怎么安装搭建及使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ZooKeeper在单机和集群
千家信息网最后更新 2026年11月01日ZooKeeper在单机和集群环境下怎么安装搭建及使用

这篇文章主要讲解了"ZooKeeper在单机和集群环境下怎么安装搭建及使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ZooKeeper在单机和集群环境下怎么安装搭建及使用"吧!

1、下载

首先我们下载最新稳定版本的zookeeper

2、解压

下载完成后,我们解开压缩包

3、创建配置文件

解压后的路径下找到conf文件夹,进入conf文件夹复制zoo_sample.cfg,命名为zoo.cfg

# 每个tick的毫秒数。后面的initLimit和syncLimit都以tick为单位tickTime=2000#初始化同步阶段时长initLimit=10# 同步确认时长syncLimit=5# 快照存储路径,不要使用/tmp。这里使用只是为了示例dataDir=/tmp/zookeeper# 客户端端口好clientPort=2181#可连接的client的最大数#如果需要处理更多的clinet,请增加此数量#maxClientCnxns=60# Be sure to read the maintenance section of the ## administrator guide before turning on autopurge.# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to "0" to disable auto purge feature#autopurge.purgeInterval=1

对于学习来说,一般无需做修改。生产环境,需要修改dataDir。其他参数后续调优。

4、单机启动ZooKeeper

在ZooKeeper根目录下执行 bin/zkServer.sh start

➜  zookeeper-3.4.12 bin/zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /Users/yimingli/dev/tool/zookeeper-3.4.12/bin/../conf/zoo.cfgStarting zookeeper ... STARTED

5、通过客户端连接ZooKeeper

➜  zookeeper-3.4.12 bin/zkCli.sh

6、通过客户端执行基本命令

1、创建znode,名为/my_test,携带数据testData

[zk: localhost:2181(CONNECTED) 0] create /my_test testData

2、查看znode信息

[zk: localhost:2181(CONNECTED) 2] get /my_test

返回如下:

testDatacZxid = 0x2e9ctime = Mon Oct 29 10:50:46 CST 2018mZxid = 0x2e9mtime = Mon Oct 29 10:50:46 CST 2018pZxid = 0x2e9cversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x0dataLength = 8numChildren = 0

3、修改znode数据

[zk: localhost:2181(CONNECTED) 3] set /my_test testDataV2

4、创建子znode

[zk: localhost:2181(CONNECTED) 0] create /my_test/tester1 testData

5、列出子znode

[zk: localhost:2181(CONNECTED) 5] ls  /my_test[tester1]

6、删除znode

有子节点的znode不能直接删除,否则会报错。

[zk: localhost:2181(CONNECTED) 6] delete /my_testNode not empty: /my_test

我们删除/my_test/tester1。

[zk: localhost:2181(CONNECTED) 8] delete /my_test/tester1

再次查看该znode。

[zk: localhost:2181(CONNECTED) 9] get /my_test/tester1Node does not exist: /my_test/tester1

已经被成功删除了。

7、集群配置和启动

我们配置和启动一个三台server的集群。

1、修改zoo.cfg文件

tickTime=2000dataDir=/var/lib/zookeeperclientPort=2181initLimit=5syncLimit=2server.1=ip1:2888:3888server.2=ip2:2888:3888server.3=ip3:2888:3888

initLimit,zookeeper用来限制zookeeper服务器连接到leader的时长。

syncLimit,一个服务器多久在leader那里过期。

以上两种过期时间,单位都是tickTime,

本例initLimit时长为5个tickTime=5*2000ms=10秒

server.x列出了所有的zookeeper服务。集群启动它通过查看data下面的myid来知道自己是哪台服务器。

2888用来连接其它server。3888用来leader选举。

2、复制2份zookeeper到另外两台server上。

3、在配置的dataDir路径下创建myid文件,文件内容为对应自己的server.x的x值。比如zoo1这台sever,myid文件中内容为1.

4、启动每个zookeeper

5、查看本机状态,是leader还是follower

➜  zookeeper-3.4.12 bin/zkServer.sh status

至此我们已经把zookeeper集群启动起来了,并且做了验证,有一台是leader,另外两台是follower。

我们还可以做个实验,看zookeeper集群是否工作正常。

1、连接其中一台server,创建一个znode。

➜  zookeeper-3.4.12 bin/zkCli.sh -server ip1:2181[zk: ip1:2181(CONNECTED) 10] create /zk_test my_data

2、连接另外一台server,列出所有根节点下znode。

➜  zookeeper-3.4.12 bin/zkCli.sh -server ip2:2181[zk: ip2:2181(CONNECTED) 10] ls /

输出如下:

[zk_test]

可以看到集群已经能够正常工作,server间可以正常进行数据的复制。

客户端连接集群方法如下:

➜  zookeeper-3.4.12 bin/zkCli -server ip1:2181,ip2:2181,ip3:2181

客户端会自动随机选择集中一台连接。

感谢各位的阅读,以上就是"ZooKeeper在单机和集群环境下怎么安装搭建及使用"的内容了,经过本文的学习后,相信大家对ZooKeeper在单机和集群环境下怎么安装搭建及使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

集群 文件 单机 环境 客户 客户端 内容 时长 学习 服务 配置 数据 服务器 路径 单位 文件夹 更多 节点 同步 工作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 深圳市人人互联网科技有限公司 广州为想互联网科技有限公司 科技互联网政务服务 互联网品科技 万易互联网科技 天津摩尔互联网科技 壕鑫互联网络科技 齐家互联网科技有限公司 上海亿帐通互联网科技 四个字互联网科技公司取名 新华互联网科技校企合作 昭通云南众福互联网科技有限公司 厦门千工互联网科技有限公司 佛山市拉法互联网科技有限公司 互联网领先科技宣传片 互联网科技年终奖 福建互联网展示科技馆设计 广西科技产业互联网是什么 青岛互联网科技园 广东万易互联网科技有限公司惠州分公司 广州为想互联网科技有限公司 互联网科技公司经营范围 湖南一路畅行互联网科技 互联网与医疗科技 亳州好赞互联网科技有限公司 长沙互联网科技 工业互联网展湾科技股份有限公司 上海创道互联网络科技有限公司 下一代互联网重大应用科技园
0