ZooKeeper集群安装

简介

ZooKeeper是一个分布式应用协调服务,主要用于解决分布式集群中应用系统的一致性问题;

使用场景
  • 统一命名服务
  • 集群管理
  • 分布式锁
    • 指定节点下,创建临时顺序节点,判断这个节点是否为指定节点下的最小值,如果是,获取锁
    • 如果不是,监控前一个节点的删除事件,删除事件发生,重新判断是否为最小节点,直至获取锁;
    • 释放锁是删除对应的节点,临时顺序节点,可通过释放连接删除;
架构

Zookeeper集群是由一组服务器(server)节点组成,一个节点是leader,其他节点为Follower,客户端连接到Zookeeper集群执行写请求时,会首先被发送到Leader节点,Leader节点收到请求,首先将变更写入磁盘,再将变更内存,最后将数据变更同步到Follower;Leader节点服务失效时,Follwer节点会快速响应选出一个新的Leader来处理客户端强求;

在这里插入图片描述

数据模型
  • Zookeeper主要用于管理协调数据,不能存储大型数据集;

  • 树形命令空间,

  • 数据保存在内存中,提高吞吐量降低延迟

  • Znode来表示命令空间的名称节点,原子化读取或写入;

    • 数据量小
    • 维护一个状态结构,包括版本号,ACL(访问控制列表),时间戳;
    • Znode上可以设置一个观察者(Watcher),如果数据变更,Zookeeper通知客户端;
Znode节点类型
  • 持久节点
  • 持久顺序节点
  • 临时节点(连接会话活动期)
  • 临时顺序节点
Zookeeper 集群模式安装
  • 下载软件包 https://zookeeper.apache.org/releases.html

  • java8环境配置

  • 文件解压

         $ tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz -C /home
    
  • 配置文件

    //安装目录下新建文件夹dataDir,存放Zookeeper相关数据
    mkdir dataDir
    echo 1 >myid
    //conf文件夹新建配置文件zoo.cfg,加入以下内容
    
    #心跳频率,单位ms
    tickTime=2000
    #初始连接等待最大心跳数
    initLimit=5
    #主从服务器通信等待最多心跳数
    syncLimit=2
    
    dataDir=/home/zookeeper-3.6.3/dataDir
    #访问端口
    clientPort=2181
    #标识不同的Zookeeper服务
    server.1=192.168.126.134:2888:3888
    server.2=192.168.126.135:2888:3888
    server.3=192.168.126.136:2888:3888
    
    //文件分发
    scp -r /home/zookeeper-3.6.4/ linux01:/home
    scp -r /home/zookeeper-3.6.4/ linux02:/home
    
    //myid
    每台服务器dataDir文件夹创建myid文件,输入对应的id,即配置文件中的server.id
    //进入每个节点启动ZooKeeper,同时启动;
    bin/zkServer.sh start
    
    命令行操作
    //连接服务器
    bin/zkCli.sh -server linux00:2181
    
    //查询节点列表
    ls /
    
    // 创建节点
    create /zk "mydata"
    
    //创建子节点
    create /zk/node1 "nodedata"
    
    //查看节点数据
    get /zk
    
    //查看节点详细信息
    stat /zk
    
    //修改节点
    set /zk "mydataUpdate"
    
    //删除节点,若有子节点先删除子节点,负责删除失败;
    delete /zk
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值