zookeeper基础入门·

目录

一、ZooKeeper简介

二、ZooKeeper的核心特性

1、顺序一致性 

2、原子性

3、单一视图

4、可靠性

5、实时性

三、ZooKeeper的基本概念

四、ZooKeeper的基本应用场景

1.配置中心

2.统一命名服务

3.分布式锁

4.分布式队列

五、ZooKeeper的入门安装与配置

1.下载与解压缩

2.配置环境变量

3.创建配置文件

4.启动ZooKeeper


ZooKeeper基础知识与入门

一、ZooKeeper简介

ZooKeeper是一个开源的分布式协调服务,目前由Apache进行维护。ZooKeeper是Google的Chubby一个开源的实现,也是Hadoop和Hbase的重要组件。其主要功能是为分布式应用提供一致性服务,如配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

二、ZooKeeper的核心特性

1、顺序一致性 

从一个客户端发起的事务请求,最终都会严格按照其发起顺序被应用到ZooKeeper中。

2、原子性

所有事务请求的处理结果在整个集群中所有机器上都是一致的,不存在部分机器应用了该事务,而另一部分没有应用的情况。

3、单一视图

所有客户端看到的服务端数据模型都是一致的。

4、可靠性

一旦服务端成功应用了一个事务,则其引起的改变会一直保留,直到被另外一个事务所更改。

5、实时性

一旦一个事务被成功应用后,ZooKeeper可以保证客户端立即可以读取到这个事务变更后的最新状态的数据。

三、ZooKeeper的基本概念

在ZooKeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。Znode有两种类型:临时节点(Ephemeral)和持久节点(Persistent)。临时节点在创建该节点的客户端会话结束时会被自动删除,而持久节点则不会。

ZooKeeper还提供了Watcher机制,用于在znode节点上注册一个Watcher监听,当这个znode节点发生变化(数据变更、子节点增减)时,ZooKeeper服务会通知客户端。

四、ZooKeeper的基本应用场景

1.配置中心

ZooKeeper可以用来存储和管理配置信息,例如集群中的机器配置、服务地址配置等。通过ZooKeeper,可以将配置信息统一管理,同时实现动态加载和更新。

2.统一命名服务

ZooKeeper可以用来实现命名服务,例如将集群中的机器名称和IP地址进行映射,或者将服务的唯一标识和实际地址进行映射。这样,客户端可以通过名称或标识来访问服务,而不需要知道服务的实际地址。

3.分布式锁

ZooKeeper可以用来实现分布式锁,通过创建一个特殊的节点,各个节点可以竞争同一个锁,从而保证分布式系统中的一致性。

4.分布式队列

ZooKeeper可以用来实现分布式队列,通过创建一个特殊的节点,各个节点可以加入或离开队列,同时队列中的节点可以按照一定的顺序进行排序。

五、ZooKeeper的入门安装与配置

1.下载与解压缩

从Apache官网下载ZooKeeper的发行包,并解压缩到指定目录。

2.配置环境变量

将ZooKeeper的bin目录添加到系统的PATH环境变量中,以便在全局范围内使用ZooKeeper的命令。

3.创建配置文件

在ZooKeeper的conf目录下,创建zoo.cfg文件,并配置相关的参数,如数据目录、日志目录、客户端连接端口等。

4.启动ZooKeeper

使用zkServer.sh start命令启动ZooKeeper服务。如果一切正常,你将看到ZooKeeper的启动日志,并可以通过jps命令查看到ZooKeeper的进程。

相关推荐

  1. zookeeper基础入门·

    2024-05-16 13:22:04       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-16 13:22:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-16 13:22:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-16 13:22:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-16 13:22:04       20 阅读

热门阅读

  1. 清华conda源

    2024-05-16 13:22:04       9 阅读
  2. Response对象的学习

    2024-05-16 13:22:04       9 阅读
  3. 服务器docker启动

    2024-05-16 13:22:04       9 阅读
  4. 时政|政务大厅拒收现金

    2024-05-16 13:22:04       12 阅读
  5. 鸿蒙应用开发之调用C++开发代码库2

    2024-05-16 13:22:04       12 阅读
  6. 【kali工具】NMAP 高级使用技巧

    2024-05-16 13:22:04       26 阅读
  7. 一步步教您轻松搭建YOLO训练环境(视频教程)

    2024-05-16 13:22:04       11 阅读
  8. git命令使用

    2024-05-16 13:22:04       12 阅读
  9. iOS 数据库升级

    2024-05-16 13:22:04       11 阅读