zookeeper本地简单部署

/ 分布式

简介

ZooKeeper is a distributed, open-source coordination service for distributed applications.

zk是一个服务于分布式系统的分布式的开源的协调服务。通过使用其提供的API,我们可以很容易实现分布式集群的消息同步,资源统一配置,监控等一系列操作。

zk的核心是ZooKeeper Atomic Broadcast(ZAB,zk原子消息广播协议),是一种特别为ZooKeeper设计的崩溃可恢复的源自消息广播算法。

zk的集群通常由一组机器组成。客户端可以从集群的任何一台机器读取到相同的资源配置,且当存在其中的一台机器不可用时,客户端会自动切换到其他正常的机器。如下图所示。

zk集群

zk的每台消息存储结构类似于文件存储目录的树状存储。如下图所示。

image

客户端通过对node节点消息的增删改查和监控,从而实现对自身分布式应用的协调和管理工作。常见的zk实践如:kafka,hadoop,hbase,dubbo等。

单机安装及配置

zk运行于java环境之上,因此首先确保你的系统已经安装好了jdk。jdk的安装这里就不再赘述了。

mac os 使用brew安装zk

//安装
brew install zookeeper
//启动服务端
zkServer start
//启动客户端
zkCli

通过上面的简单命令,不出意外的话,zk已经可以正常服务了。上面涉及到的brew的使用,这里也不做过多介绍。

zk的基本配置 conf/zoo.cfg

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

zk常用命令

//查询目录
ls /

//新建节点
create /zk_test data

//查询节点信息
get /zk_test

//修改节点信息
set /zk_test updateData

//删除节点信息
delete /zk_test