1. ZooKeeper简介

1. ZooKeeper是什么

ZooKeeper致力于提供一个高性能、高可用,且具备严格的顺序访问控制能力的分布式协调服务,是雅虎公司创建,是Google的Chubby一个开源的实现,也是Hadoop和Hbase的重要组件

1.1 ZooKeeper设计目标

  • 简单的数据结构:共享的树形结构,类似文件系统,存储于内存;

  • 可以构建集群:避免单点故障,3-5台机器就可以组成集群,超过半数正常工作就能对外提供服务;

  • 顺序访问:对于每个读请求,zk会分配一个全局唯一的递增编号,利用这个特性可以实现高级协调服务;

  • 高性能:基于内存操作,服务于非事务请求,适用于读操作为主的业务场景。3台zk集群能达到13w QPS;

1.2 ZooKeeper的使用场景

  • 数据发布订阅

  • 负载均衡

  • 命名服务

  • Master选举

  • 集群管理

  • 配置管理

  • 分布式队列

  • 分布式锁


2. ZooKeeper的安装部署

ZooKeeper安装部署方式分为三种

  1. 单机模式:在一台机器上部署

  2. 集群模式:在多台机器上部署,通过zoo.conf配置不同机器ZooKeeper之间的关联关系

  3. 伪集群模式:在一台机器上部署,复制多个ZooKeeper,在zoo.conf中配置这几个拷贝之间的关系

2.1 windows单机安装

  • 首先要安装jdk

  • 安装ZooKeeper,在官网http://zookeeper.apache.org/下载zookeeper,解压即可

  • 解压后目录

  • zoo.cfg中的dataDir配置Zookeeper工作中相关的data及log目录

2.2 集群配置(Linux环境)

  1. 安装jdk,配置环境变量【vi /etc/profile】【关闭防火墙】

  2. 安装ZooKeeper

  • 下载ZooKeeper安装包

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
  • 解压

    tar -zxvf zookeeper-3.4.10.tar.gz
  • 重命名

    mv zookeeper-3.4.10 zookeeper
  1. 修改配置文件【复制zoo_sample.cfg到zoo.cfg】

    cd /usr/local/zookeeper/conf
    mv zoo_sample.cfg zoo.cfg
    ------------zoo.cfg-------------
    (1)dataDir=/usr/local/zookeeper/data(注意同时在zookeeper创建data目录)
        创建服务器标识:myid
        服务器标识配置:
        创建文件夹: mkdir data
        创建文件myid并填写内容
        vi myid (内容为服务器标识【id】)
    (2)最后面添加集群服务器配置
        server.id=host:port:port : 表示了不同的zookeeper服务器的自身标识
            id:myid中的内容,服务器标识
            host:服务器ip地址
            port:第一个端口,用于从follower连接到leader机器的端口
            port:第二个端口,用来进行leader选举时所用的端口
        e.g
            server.0=192.168.212.154:2888:3888
            server.1=192.168.212.156:2888:3888
            server.2=192.168.212.157:2888:3888
  2. 同样的在其它服务器上配置剩余节点 可以远程复制

    scp -r  /soft  root@zk2:/
    scp -r  /soft  root@zk3:/

    最后注意修改不同节点的myid文件内容

  3. 启动集群所有节点ZooKeeper

    路径: /usr/local/zookeeper/bin
    执行: zkServer.sh start
    (注意这里每台机器的ZooKeeper都要进行启动)
  4. 查看集群节点状态

    zkServer.sh status【在三个节点上检验zk的node,一个leader和俩个follower】

  伪集群模式其实就是在一台机器上通过不同端口号来模仿集群模式部署的

 

2.3 目录结构

目录binconfcontribdist-mavendocslibrecipessrc
作用存放系统脚本存放配置文件zk附加功能支持maven仓库文件zk文档依赖的第三方库经典场景样例代码zk源码

其中最重要的就是bin和conf两个目录

bin目录c

  • zkServer为服务器,启动后默认端口为2181

  • zkCli为命令行客户端

conf目录

conf目录为配置文件存放的目录,zoo.cfg为核心的配置文件,这里面的配置有很多,这配置是运维的工作,没必要全部掌握,挑选几个讲解:

  1. clientPort: 参数无默认值,必须配置,用于配置当前服务器对外的服务端口,客户端必须使用这端口才能进行连接

  2. dataDir: 用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)

  3. dataLogDir: 用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争

  4. snapCount: 新安装zk这文件夹里面是没有文件的,可以通过snapCount参数配置产生快照的时机

    以下配置集群中才会使用

  5. tickTime: 心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间

  6. initLimit: 多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值

  7. syncLimit: 多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃

转载于:https://www.cnblogs.com/qf123/p/11436935.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
zookeeper大全pdf是指一份包含了所有关于zookeeper的相关知识和信息的PDF文档。zookeeper是一个开源的分布式协调服务框架,用于实现分布式应用程序的数据一致性和可靠性。它提供了一个简单的接口,使得开发者可以实现分布式锁、分布式队列、命名服务等功能。 zookeeper大全pdf可以包含以下内容: 1. zookeeper简介和基本概念:包括zookeeper的定义、特点、应用场景等。 2. zookeeper的架构和设计:详细介绍zookeeper的整体架构和设计思路,包括服务角色、数据模型、读写过程等。 3. zookeeper的安装和配置:指导用户如何安装和配置zookeeper环境,包括系统需求、下载安装包、配置文件等。 4. zookeeper的API和使用方法:详细介绍zookeeper提供的API接口,包括节点的创建、读写操作、观察者模式等。 5. zookeeper的高级特性和扩展:介绍zookeeper的高级特性,如事务处理、顺序性保证、ACL权限控制等。 6. zookeeper的运维和监控:指导用户如何监控和维护zookeeper集群的健康状态,包括监控工具、日志分析、故障处理等。 7. zookeeper的最佳实践和案例分析:分享一些使用zookeeper的最佳实践和典型案例,方便用户参考和借鉴。 综上所述,zookeeper大全pdf是一份全面介绍zookeeper相关知识和使用方法的文档,对于想要学习和使用zookeeper的人来说,是一份很有价值的参考资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值