开发者社区> 突突修> 正文
阿里云
为了无法计算的价值
打开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分布式协调服务(节点分类、事件监听、java集成)
ZooKeeper分布式协调服务(节点分类、事件监听、java集成)
0 0
Paxos与Zookeeper分布式一致性面试必备
根据ZooKeeper官网定义:ZooKeeper是一个集中式服务,用于维护配置信息、命名、提供分布式同步和提供组服务。分布式应用程序以某种形式使用所有这些类型的服务。每次实现它们时,都需要做大量工作来修复不可避免的错误和竞争条件。由于难以实现这些类型的服务,应用程序最初通常会忽略这些服务,这使得它们在发生变化时变得脆弱,难以管理。即使做得正确,在部署应用程序时,这些服务的不同实现也会导致管理复杂性。
0 0
分布式学习十二:zookeeper实现数据订阅/发布
分布式学习十二:zookeeper实现数据订阅/发布
0 0
分布式学习十一:搭建zookeeper集群
分布式学习十一:搭建zookeeper集群
0 0
基于 Zookeeper、Dubbo 构建互联网分布式基础架构(4)|学习笔记
快速学习基于 Zookeeper、Dubbo 构建互联网分布式基础架构(4)
0 0
基于 Zookeeper、Dubbo 构建互联网分布式基础架构(2)|学习笔记
快速学习基于 Zookeeper、Dubbo 构建互联网分布式基础架构(2)
0 0
基于 Zookeeper、Dubbo 构建互联网分布式基础架构(1)|学习笔记
快速学习基于 Zookeeper、Dubbo 构建互联网分布式基础架构(1),使用分布式需要一个注册中心,一个监控中心。原来是将一个项目跑到一些集群上面,而分布式是将一个大的项目分别拆开为多个模块,让其跑到不同的服务器上面,这叫做分布式。
0 0
2021-Java后端工程师面试指南-(分布式理论+Zookeeper)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
0 0
ZooKeeper(分布式协调服务)使用介绍
ZooKeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护。ZooKeeper 可以用于实现分布式系统中常见的发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
云原生时代下的分布式云多集群管理-容灾,弹性,多集群负载分布
立即下载
让 MySQL 原生分布式触手可及
立即下载
事务、全局索引、透明分布式
立即下载