Zookeeper(一):单机安装与使用

1、概述

大家好,我是欧阳方超,可以关注我的公众号“欧阳方超”,后续内容将在公众号首发。
今天介绍一下Zookeeper,它的目标是为开发人员提供一个可靠的、高性能的分布式协调服务,使他们能够专注于应用程序的逻辑而不必担心分布式环境的复杂性。目前可能体会不到它的目标的含义,没关系,后续将用示例的形式进行介绍。本文先聚焦于Zookeeper的单机安装与简单使用。

2、安装Zookeeper

在开始之前,确保已安装Java环境。接下来,可以按照以下步骤安装ZooKeeper:

  • 下载ZooKeeper二进制文件(下载链接)。
  • 解压下载的文件到您选择的目录,例如 C:\zookeeper。
  • 创建一个新文件夹 data 用于存储ZooKeeper数据,例如 C:\zookeeper\data。

3、配置Zookeeper

在安装完成后,需要进行一些配置以确保Zookeeper正确运行。

  • 在Zookeeper的安装目录下,复制conf目录中的zoo_sample.cfg文件,并将其重命名为zoo.cfg。
  • 修改配置文件中的 dataDir 属性,将其设置为ZooKeeper数据目录的路径。例如:dataDir=C:\zookeeper\data。注意,如果数据目录没有创建则在启动Zookeeper前需要手工创建出该目录。该目录默认情况除了保存数据之外还用来保存事务日志,生产环境通常还会设置dataLogDir作为存储事务日志的目录,这样dataDir就只保存数据了。
  • 添加dataLogDir属性,例如dataLogDir=C:\zookeeper\datalogs
  • clientPort是ZooKeeper客户端连接的端口号,如果需要修改端口号可以在这里进行,默认为2181。

4、启动和停止Zookeeper

在windows中前台启动
打开命令提示符,并导航到ZooKeeper安装目录(例如 C:\zookeeper)。运行以下命令启动ZooKeeper服务器:

.\bin\zkServer.cmd

停止Zookeeper
在前台启动情况下,Ctrl+c即可停止Zookeeper服务。

5、使用Zookeeper

5.1、创建ZNode

Zookeeper使用ZNode作为其数据模型,类似于文件系统中的目录和文件。可以使用Zookeeper客户端创建ZNode。
使用下面的命令可以启动Zookeeper客户端:

.\bin\zkCli.cmd

进入客户端后,可以进行创建节点等操作。
创建节点:
下面的命令创建了一个持久节点,并指定了节点中的数据。

[zk: localhost:2181(CONNECTED) 0] create /mynode mydata
Created /mynode

5.2、获取节点数据

使用以下命令读取ZNode的数据:

[zk: localhost:2181(CONNECTED) 3] get /mynode
mydata

5.3、设置(更新)节点数据

使用以下命令更新ZNode的数据:

[zk: localhost:2181(CONNECTED) 4] set /mynode newdata

5.4、列出子节点

下面命令列出子节点:

[zk: localhost:2181(CONNECTED) 5] ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, mynode, new, zookeeper]

5.5、删除节点

使用下面的命令删除节点:

[zk: localhost:2181(CONNECTED) 5] ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, mynode, new, zookeeper]

5.6、监听ZNode变化

以下使用使用新的get命令读取ZNode数据的示例:

get [-s] [-w] path

其中,path是要读取的ZNode的路径,-w选项用于设置观察(watch)机制,当ZNode的数据发生变化时会接收通知,下面是一个例子:

[zk: localhost:2181(CONNECTED) 12] get -w /mynode
newdata
[zk: localhost:2181(CONNECTED) 13]
WATCHER::

WatchedEvent state:SyncConnected type:NodeDataChanged path:/mynode

6、总结

本文介绍了如何在Windows上安装、配置和使用单机ZooKeeper。通过安装和配置ZooKeeper,可以在本地环境中模拟分布式协调任务。还演示了如何创建、读取、更新和删除ZNode,以及如何使用Watcher机制监听ZNode的变化。这些基本操作为构建分布式系统提供了强大的工具和基础。
虽然本文只涵盖了ZooKeeper的基础知识和使用示例,但它为提供了一个良好的起点,为后续深入研究和应用ZooKeeper在实际分布式系统中的更多功能提供了支撑。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。
附图为山庄​里的孔雀:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值