开发者社区> 突突修> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

分布式协作服务框架Zookeeper

简介: 一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 提供一个简单的原语集合,以便于分布式应用可以在它之上构建更高层次的同步服务。 设计非常易于编程,它使用的是类似于文件系统那样的树形数据结构。
+关注继续查看

一个开源的分布式的,为分布式应用提供协调服务的Apache项目。
提供一个简单的原语集合,以便于分布式应用可以在它之上构建更高层次的同步服务。
设计非常易于编程,它使用的是类似于文件系统那样的树形数据结构
目的就是将分布式服务不再需要由于协作冲突而另外实现协作服务。
集群必须是个奇数

zookeeper service

这种架构支持高并发,client有可能访问任何一个server。server服务器的数量必须是个奇数。其中有一个是leader。


image.png

zookeeper数据结构

数据结构和分等级的命名空间
  • Zookeeper的命名空间的结构和文件系统很像。一个名字和文件一样使用/的路径表现,zookeeper的每个节点都是被路径唯一标识。
  • ZooKeeper's Hierarchical Namespace


    数据结构

zookeeper应用场景

  • 场景解释
    Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave 管理模式
  • 应用场景
    统一命名服务(Name Service)
    配置管理(Configuration Management)
    集群管理(Group Membership)
    共享锁(Locks)/同步锁

zookeeper单机模式

  • 安装JDK、配置环境变量、验证java –version

  • 下载、赋执行权限、解压
    下载地址:http://apache.dataguru.cn/zookeeper/

  • 权限:chmod u+x zookeeper-3.4.5.tar.gz

  • 解压:tar -zxvf zookeeper-3.4.5.tar.gz -C /opt/modules/

  • 配置
    复制配置文件:cp conf/zoo_sample.cfg conf/zoo.cfg


    重新命令

    创建数据存储目录:mkdir /opt/modules/zookeeper-3.4.5/data/zkData
    配置数据存储目录:dataDir=/opt/modules/zookeeper-3.4.5/data/zkData


    数据存储目录
  • 启动
    启动:bin/zkServer.sh start

  • 检测
    Client Shell:bin/zkCli.sh 或者 查看状态:bin/zkServer.sh status

配置参数详解

  • tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
  • dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
  • clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
  • Zookeeper Client 命令讲解
    命令:bin/zkCli.sh -server localhost:2181
    详解:ls、get、create、delete


    image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ZooKeeper(分布式协调服务)使用介绍
ZooKeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护。ZooKeeper 可以用于实现分布式系统中常见的发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
62 0
【分布式】Zookeeper会话
 前面分析了Zookeeper客户端的细节,接着继续学习Zookeeper中的一个非常重要的概念:会话
26 0
【分布式】Zookeeper客户端
前篇博客分析了Zookeeper的序列化和通信协议,接着继续学习客户端,客户端是开发人员使用Zookeeper最主要的途径,很有必要弄懂客户端是如何与服务端通信的。
47 0
zookeeper分布式锁原理及实现(1)
zookeeper分布式锁原理及实现(1)
47 0
分布式锁原理与实现(数据库、redis、zookeeper)
分布式锁可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。
104 0
关于Redis、ZooKeeper等分布式锁原理的一些思考
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。
492 0
分布式协调服务中间件ZooKeeper 入门(1)-ZK的介绍与特性
一、Zookeeper简介 Zookeeper是一个服务,是一个分布式协调技术,他提供高性能,分布式的协调服务。主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成“脏数据”的后果。
2119 0
Zookeeper(分布式应用程序协调服务)
1.简述 zookeeper,动物园管理者,动物饲养员。以下简称zk。 它是一个分布式一致性解决方案,为分布式应用提供分布式协调服务。 它开源、强大,得到了广泛的应用。Haddop,Storm都已经将zk作为核心组件,用于分布式协调。 2.集群角色 Leader,为客户端提供读写服务。Follower, 提供读服务,参与lerder选举。 Observer,只提供读服务。
1639 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Dubbo 如何成为连接各种异构微服务体系的服务开发框架
立即下载
Dubbo分布式服务治理实战
立即下载
基于 Dledger 构建高可用 Apache RocketMQ 集群实践
立即下载