简介:Zookeeper 面向分布式系统的一个高性能的协调服务器。从安装,到集群,到与Java 的结合使用及应用场景分析
Zookeeper 简介
zk 是一个由java语言编写的软件。
解决问题:面向分布式系统,提供一个高性能的 协调 作用的服务器
从设计模式上看:是一个基于观察者模式的分布式服务管理框架。它负责存储和管理大家都关系的数据,然后接受观察者注册,一旦数据的状态发生变化,它负责通知各观察者做出响应。
提供服务:
- 统一命名服务(Name Service)
- 配置管理(Configuration Management)
- 集群管理(Group Membership)
安装与应用 官网
单机安装
- wget http://www.bizdirusa.com/mirrors/apache/ZooKeeper/stable/zookeeper3.4.5.tar.gz
- tar xzvf zookeeper3.4.5.tar.gz
- cd zookeeper3.4.5
vim conf/zoo.cfg
tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181
- bin/zkServer.sh (start|stop) (启动,停止命令)
bin/zkCli.sh -server 127.0.0.1:2181 (连接命令)
连接成功后使用以下命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17get path [watch]
ls path [watch]
set path data [version]
delquota [-n|-b] path
quit
printwatches on|off
createpath data acl
stat path [watch]
listquota path
history
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
setquota -n|-b val path
集群安装
注意默认配置位置为 conf/zoo.cfg 无则配置(配置 server 1,2,3)
dataDir=/var/lib/mydata server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
- 注意mydata位置 ,下 myid 文件 为集群机的序号(1,2,3)