美文网首页
遇见ZooKeeper:初识

遇见ZooKeeper:初识

作者: Jackeyzhe | 来源:发表于2021-02-22 23:30 被阅读0次

0. 什么是ZooKeeper

ZooKeeper 是一个开源的分布式,它的设计目标是将那些复杂且容易出错的分布式协同服务封装起来,抽象出一个高效可靠的原语集,并以一系列简单的接口提供个用户使用。

ZooKeeper 有几大特征:

易用

ZooKeeper 的理解和使用成本都很低,它提供的是一种层级式的命名空间,这一点和标准的文件系统类似。

可靠

ZooKeeper 服务可以支持集群模式,并且能够轻松扩展,客户端可以连接到任意一个服务器,都能够获得服务。

有序

ZooKeeper 的节点是可以保证有序的。每一个更新操作都会被标记一个序号,ZooKeeper 执行的时候会按照顺序执行。

快速

ZooKeeper 在读多写少的应用场景中可以实现快速响应。这是因为 ZooKeeper 本身的部署架构是主从模式,主节点可以响应读写请求,而从节点只能响应读请求。当读写比例大于10:1时,ZooKeeper 就可以利用扩展能力改善集群的响应速度。

ZooKeeper架构图

介绍完了 ZooKeeper 的整体情况,我们再来看看 ZooKeeper 的另一个比较重要的概念——节点(Node)。

ZooKeeper 的节点叫做Znode,可以分为两种:一种是持久性的,一种是临时性的。每一个 Znode 都可以存储数据,Znode 的更新是以版本更新的形式迭代的。因此,客户端接收数据的同时还会接收到版本信息。

ZooKeeper 临时节点的生命周期是与 session 相关的,当 session 处于活跃状态时,临时节点会一直存在,当 session 消亡时,临时节点会被删除。

Session

ZooKeeper 客户端在和 Server 端进行连接的时候,会创建一个 session,客户端可以主动关闭 session。当 ZooKeeper 服务端节点没有在指定时间内收到客户端消息的话,服务端也会关闭 session。如果建立连接出错,ZooKeeper 客户端也会自动和其他服务端节点尝试建立新的连接。

1. 安装 ZooKeeper

ZooKeeper 的安装方式非常简单,首先到官网下载 ZooKeeper 的安装包,然后解压安装包。

接着是修改配置文件,进入目录apache-zookeeper-3.6.2-bin/conf,从 zoo_sample.cfg 文件复制出来一个名为 zoo.cfg 的配置文件,修改dataDir=/data/zookeeper,这个目录用于存储 ZooKeeper 的数据。配置好之后,我们就可以启动 ZooKeeper 了,不过为了更好的使用 ZooKeeper 命令,我们把 ZooKeeper 相关命令配置到 PATH 中。

启动 ZooKeeper

现在就可以启动 ZooKeeper 了。只需要使用下面这个命令即可。

zkServer.sh start

启动之后,我们来看一下 ZooKeeper 有没有报错,我们来到 ZooKeeper 目录下的 logs 目录,输入命令

grep -E -i "((exception)|(error))" *

如果没有输出,说明 ZooKeeper 启动没有报错。

接着查看对2181端口的监听

netstat -an | grep 2181

正常监听的话,我们就可以使用客户端进行连接了。

体验 ZooKeeper 命令

在确保 ZooKeeper 服务端启动没有问题后,我们使用客户端进行连接。

zkCli

连接时会有上图所示的日志输出。

连接好之后可以输入命令

ls -R /

这个命令用来查看 ZooKeeper 现有的节点。

/
/zookeeper
/zookeeper/config
/zookeeper/quota

最初只有几个 ZooKeeper 自带的目录。

这里可以使用 create /app 命令来创建一个名为 app 的目录。

2. 小结

对于 ZooKeeper 的初印象到这里就结束了,目前我已经对 ZooKeeper 有了一个大概的了解,并且能够顺利在本机安装 ZooKeeper,对于 ZooKeeper 的命令也有一定的了解。

后面我们会对 ZooKeeper 常见的应用进行介绍。

相关文章

  • 遇见ZooKeeper:初识

    0. 什么是ZooKeeper ZooKeeper 是一个开源的分布式,它的设计目标是将那些复杂且容易出错的分布式...

  • 初识 zookeeper

    简介 中间件,提供协调服务 作用于分布式系统,发挥其优势,可以为大数据服务 支持 java 语言,提供 java ...

  • 初识Zookeeper

    项目中使用到了当当的分布式调度框架elastic-job,于是邂逅了Zookeeper。 前世今生

  • Zookeeper初识

    zookeeper 也是apache的顶级项目,所以他的项目官网:http://zookeeper.apache....

  • zookeeper初识

    安装 Zookeeper: 1、 修改操作系统的/etc/hosts 文件中添加: # zookeeper ser...

  • 初识Zookeeper

    Zookeeper简介 >开源的针对大型分布式系统的可靠协调系统 > 设计目标:将复杂且容易出错的分布式式一致性服...

  • 初识ZooKeeper

    ZooKeeper是一个分布式数据一致性的解决方案,可以基于它实现数据发布/订阅、负载均衡、命名服务、分布式协调/...

  • 初识ZK-Zookeeper

    首先认识ZooKeeper ZooKeeper—译名为“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物...

  • spark初识篇

    spark初识篇 Spark HA的情况下,zookeeper中存放了哪些数据信息: Application Dr...

  • zookeeper 学习

    2018年6月5日22:40:04 这周内在进行整理 初识 zookeeper 什么是 zookeeperzook...

网友评论

      本文标题:遇见ZooKeeper:初识

      本文链接:https://www.haomeiwen.com/subject/cnelfltx.html