Zookeeper 基础(分布式协调服务/ZK安装使用/ZK常用命令)

基础

ZK 是什么

https://zookeeper.apache.org/

  • 是啥:Apache ZooKeeper是一-种用于分布式应用程序的高性能协调服务,提供一种集中式信息存储服务。
  • 特点:数据存在内存中,类型文件系统的树形结构(文件和目录),高吞吐量和低延迟,集群高可靠。
  • 作用:
    • 分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等
    • 基于zookeeper可以实现分布式统一配置中心、服务注册中心、分布式锁等功能。

 

Zookeeper 基础(分布式协调服务/ZK安装使用/ZK常用命令)

 

分布式协调服务

  • 单机处理能力有上线,基于可靠性、成本、性能的考虑,使用分布式系统。
  • 分布式集群中的协调需求
    • 原来在单机进程中完成的一件事的多个步骤,变为在多个计算机中完成。这时就需要协调各个计算节点做事的顺序。
    • 原来在单系统中资源竞争通过锁进行同步控制;现在变成了多个计算机上的进程间的资源竞争,也需要分布式协调。
  • 可以把每个分布式系统中需要的协调管理的公共基础部分抽取出来,作为一个基础公共服务供大家使用,这就是分布式协调服务。

 

Zk的应用

  • Hbase:使用ZooKeeper进行Master选举、服务间协调。
  • Solr:使用Zookeeper进行集群管理、Leader选举、 配置管理。
  • dubbo:服务注册
  • Mycat:集群管理、配置管理
  • Sharding-sphere:集群管理、配置管理

 

第三方客户端

  • zkClient
  • Curator  

应用

安装

  • 下载:V3.4.13
  • 解压后的conf目录,增加配置文件zoo.cfg
  • 启动服务端
    • bin/zkServer.sh start
  • 测试
    • 客户端连接: bin/zkCli.sh -server 127.0.0.1:2181
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181

 

使用

Client

Zookeeper 基础(分布式协调服务/ZK安装使用/ZK常用命令)

 

JavaApi

Zookeeper 基础(分布式协调服务/ZK安装使用/ZK常用命令)