天天看点

Zookeeper 简介、安装、集群、常用命令

zk简介

zk的下载安装

zk server 常用命令

配置项介绍

连接到zk server

搭建zk server集群

zk cli常用命令

zookeeper 动物园管理员,可以用来管理 hadoop(大象)、hive(蜜蜂)、pig(小 猪)、tomcat(猫)等。

zk是一个高性能的分布式管理、协调框架,主要功能包括

服务治理

作为配置中心,统一管理配置。dubbo的服务治理、配置中心一般用zk来实现。

实现分布式锁。使用临时znode实现。

发布/订阅,使用watcher机制实现。

实现队列。利用zk执行写请求的顺序一致性来实现(paxos算法)。

zk不是数据库、消息中间件之类的专门存储大量数据的组件,一般不用于存储大量数据,zk可以实现队列,但一般不用zk实现队列。

下载地址:https://zookeeper.apache.org/releases.html

下载 .tar.gz,win、linux都是同一个安装包

zk依赖于jdk,需要先安装jdk,配置jdk的环境变量。

zk可以直接被外网访问,不需要在配置文件中绑定本机实际ip。

zoo.cfg

1、使用zk自带的命令行客户端,bin/zkCli.sh

2、使用图形化客户端

ZooInspe,老牌客户端,界面很土,不推荐,https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip,双击运行build里面的.jar。

PrettyZoo,界面好看,操作方便,推荐,https://github.com/vran-dev/PrettyZoo

至少3个zk server,官方建议奇数个。

1、在每个zk server的zoo.cfg中,clientPort配置项的下面添加集群信息配置

指定各个zk server的myid、ip,myid唯一标识一个zk server,有的习惯从0开始,有的习惯从1开始。

2181是zk client、zk server之间通信的端口,2888是zk server节点之间通信的端口,3888是follower选举leader时使用的端口。

2、编辑各个zk server的data/myid,写上对应的myid

eg. server.1=192.168.1.1:2888:3888 ,192.168.1.1这个zk server的myid就是1(server后面的数字)

3、启动各个zk server,会自动分配角色(leader、follower、observer)。leader只有1个