1 什么是ZooKeeper

你离开我真会死。 提交于 2020-03-08 22:19:05

这是一个系列文章,归纳整理我在网易云课堂JAVA微专业学习的知识点

本文内容基于3.4.11版本

简介

Apache ZooKeeper是一种用于分布式应用程序的高性能协调服务,提供一种集中式信息存储服务。

特点

数据存在内存中,类似文件系统的树形结构(文件和目录),高吞吐量和低延迟,集群高可靠。

作用

基于ZooKeeper可以实现分布式统一配置中心、服务注册中心,分布式锁等功能。

应用案例

Hbase:进行Master选举、服务间协调

Solr:进行集群管理、Leader选举、配置管理

dubbo:服务注册

Mycat:集权管理、配置管理

Sharding-sphere:聚群管理、配置管理

同类产品

consul etcd Doozer

单机版安装

下载:http://zookeeper.apache.org/releases.html

解压后conf目录,增加配置文件zoo.cfg

简单配置如下:

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181

启动服务端 bin/zkServer.sh start

测试,客户端连接 bin/zkCli.sh -server 127.0.0.1:2181

客户端常用指令

指令 描述
ls 获取子节点
create 在ZooKeeper中的某个位置穿件一个节点
delete 删除节点
rmr 删除非空节点
exists 测试节点是否存在
get data 从指定节点读取数据
set data 将数据存入指定节点
sync 等待数据进行同步

在Java中使用

由于ZooKeeper官方客户端过于底层,一般使用第三方客户端zkClient

<dependency>
	<groupId>com.101tec</groupId>
	<artifactId>zkclient</artifactId>
	<version>0.11</version>
</dependency>

另一个常用第三方客户端是curator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!