一个计算机技术爱好者与学习者

0%

Zookeeper入门篇

1. Zookeeper简介

Official Introduction: ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them, which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.

ZooKeeper是一个分布式应用程序协调服务,它提供了分布式锁、配置管理、命名服务、集群管理等功能。它的设计目标是提供一个高度可靠的分布式协调服务,使得分布式应用程序可以在不同节点之间共享信息和协同工作。ZooKeeper最初由雅虎研究院开发,并在Apache许可证下发布,现在已经成为一个Apache软件基金会的开源项目。

ZooKeeper的核心是一个具有高可用性的分布式数据存储系统,它可以存储和检索分布式应用程序的元数据、配置信息、状态等。ZooKeeper的数据存储采用内存映射文件方式,支持快速读写和高并发性。

参考文档:

2. ZooKeeper的基本概念

节点:ZooKeeper中的数据存储单元,可以是文件或目录。每个节点都有一个路径和一个数据内容,可以用来存储元数据、配置信息等。

版本:每个节点都有一个版本号,用于检测数据变更。

会话:客户端与ZooKeeper服务器之间的连接,用于实现数据的读写和协调工作。会话可以设置超时时间,用于控制会话的生命周期。

观察者:客户端可以注册一个观察器,用于监听节点的变化,并在节点变化时得到通知。

3. ZooKeeper的应用场景

分布式锁:ZooKeeper可以提供分布式锁的实现,使得多个应用程序可以在不同节点之间协同工作。

配置管理:ZooKeeper可以用来存储和检索分布式应用程序的配置信息,使得多个应用程序可以共享配置信息。

命名服务:ZooKeeper可以用来存储和检索分布式应用程序的命名空间,使得多个应用程序可以共享命名空间。

集群管理:ZooKeeper可以用来管理分布式应用程序的集群,包括节点的加入、退出、状态检测等。

4. 安装配置Zookeeper

4.1. 安装

1、访问zookeeper官网,下载一个喜欢的zookeeper版本,这里郝同学下载的是zookeeper-3.4.10.tar.gz。

2、解压zookeeper-3.4.10.tar.gz到D:\Server目录。

4.2. 配置

1、zookeeper 的配置文件在 conf 目录下,有 zoo_sample.cfg 和 log4j.properties。

2、将zoo_sample.cfg复制一份,重命名成zoo.cfg,因为zookeeper在启动时会找这个文件作为默认配置文件。
下面介绍zoo.cfg文件里面几个配置的意义:

  • tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
  • dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
  • clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

3、在zookeeper的根目录下,新建文件夹data。然后修改配置文件dataDir为:

1
dataDir=D:\\Server\\zookeeper-3.4.10\\data

4.3. 启动

1、zookeeper-3.4.10/bin下存在zkServer.cmd,双击它,即可启动zookeeper。

2、打开命令行,输入jsp,如果看到如下提示,说明启动成功。

1
2
3
4
10336 RemoteMavenServer
13488 Jps
12268 QuorumPeerMain
13052

5. 使用Zookeeper

5.1. PrettyZoo

使用PrettyZoo可以图形化连接Zookeeper,直观操作Zookeeper。

参考文档:vran-dev/PrettyZoo

  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-zookeeper-start/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~