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在实际分布式系统中的更多功能提供了支撑。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。
附图为山庄里的孔雀: