ZooKeeper使用入门

本文详细介绍了ZooKeeper的基础知识,包括安装步骤、ZooKeeper的应用,如通过zkCli和Java客户端的使用,以及ZooKeeper集群的搭建过程,帮助初学者快速上手。
摘要由CSDN通过智能技术生成

ZooKeeper简介

ZooKeeper是一个分布式的,开源的分布式应用程序协调服务,是Hadoop的子项目之一。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

安装ZooKeeper

操作系统要求

操作系统 客户端 服务端 原生客户端 附加组件
GNU/Linux 开发/生产 开发/生产 开发/生产 开发/生产
Solaris 开发/生产 开发/生产 不支持 不支持
FreeBSD 开发/生产 开发/生产 不支持 不支持
Windows 开发/生产 开发/生产 不支持 不支持
Mac OS X 开发 开发 不支持 不支持

软件要求

Java 8及Java 11以上版本(Java 9和10不支持)

硬件要求

此硬件资源为官网推荐的配置,实际开发过程中不需要这么大,笔者测试1核1G内存20G硬盘的虚拟机即可运行。

  • 2核
  • 2G内存
  • 80G硬盘

下载安装并进行单点配置

  1. 下载页面地址:https://zookeeper.apache.org/releases.html
  2. 官网只提供tar.gz格式的压缩包,windows下载后按照zip之类的解压方式可能会导致解压后的包无法使用,笔者使用Git带的命令行执行linux的解压命令解压后使用,如果没有安装Git则建议使用虚拟机安装Linux使用。以下是正确解压和错误解压后的对比。

正确打开方式

错误打开方式

  1. 解压后的ZooKeeper默认是无法执行的,需要进行配置,将 apache-zookeeper-3.6.1/conf/zoo_sample.cfg复制一份并重命名为zoo.cfg,没什么特殊需要里边的配置项默认即可,笔者因为是在windows下使用,所以将datadir修改了。配置文件项说明如下:
配置项 说明
tickTime ZooKeeper使用的时间,单位毫秒,一般用于心跳检测,而ZooKeeper中的最小session超时时间是此项的两倍
dataDir 保留内存数据库快照的地址,如果不单独指定,事务日志也会记录在此
clientPort 服务端监听的端口号
initLimit 集群中的follower服务器与leader服务器之间初始连接时的最大心跳数
syncLimit 集群中follower服务器与leader服务器之间通讯时的最大心跳数
  1. 配置完成后即可在bin目录下执行对应的文件启动了,Windows下为zkServer.bat,Linux下为zkServer.sh

ZooKeeper应用

通过zkCli进行使用

  1. ZooKeeper启动后,可以通过bin目录下自带的客户端进行访问,Windows下为zkCli.bat,Linux下为zkCli.sh
  2. 启动时默认连接localhost:2181,如果有需要连接远程或其他端口的情况,可以如下添加参数:
zkCli.sh -server IP:Port
  1. 进入客户端后执行help(此处是一个随意的指令,只要不是zkCli支持的操作都可以)可查看其支持的操作,关于所有操作的介绍请参考官方页面:https://zookeeper.apache.org/doc/current/zookeeperCLI.html

  2. 常用操作介绍:

  • 查看节点信息,节点路径不能以“/”结尾
ls /
ls /zookeeper
  • 创建一个节点
create /test
create /test/testa
  • 查看节点状态
stat /test
stat /test/testa
  • 删除节点
# 删除单个空节点
delete /test/testa
delete /test

# 级联删除
deleteall /test

*退出客户端

quit

通过ZooKeeper客户端使用

因为笔者的第一开发语言是Java,这里以Java为例。常用的ZooKeeper Java客户端用zkclient和Apache Curator两种。zkclient是github上的一个开源项目,该项目在2018年10月2日后停止更新;Apache Curator是Apache基金会的开源项目,目前持续更新,推荐使用。常用的分布式RPC框架DUBBO也在2019年1月份推出的2.7.0版本中将默认的ZooKeeper客户端由zkclient切换为Apache Curator,此文中的示例也使用Apache Curator。

  1. 创建一个Maven项目,然后在pom.xml中引用Apache Curator,以下是笔者的文件内容,除了Apache Curator外添加了测试使用的junit并设置了编译使用的java版本。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值