Zookeeper 基础(分布式协调服务/ZK安装使用/ZK常用命令)
基础
ZK 是什么
- 是啥:Apache ZooKeeper是一-种用于分布式应用程序的高性能协调服务,提供一种集中式信息存储服务。
- 特点:数据存在内存中,类型文件系统的树形结构(文件和目录),高吞吐量和低延迟,集群高可靠。
- 作用:
-
- 分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等
- 基于zookeeper可以实现分布式统一配置中心、服务注册中心、分布式锁等功能。
分布式协调服务
- 单机处理能力有上线,基于可靠性、成本、性能的考虑,使用分布式系统。
- 分布式集群中的协调需求
-
- 原来在单机进程中完成的一件事的多个步骤,变为在多个计算机中完成。这时就需要协调各个计算节点做事的顺序。
- 原来在单系统中资源竞争通过锁进行同步控制;现在变成了多个计算机上的进程间的资源竞争,也需要分布式协调。
- 可以把每个分布式系统中需要的协调管理的公共基础部分抽取出来,作为一个基础公共服务供大家使用,这就是分布式协调服务。
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
JavaApi