Zookeeper是什么
是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,
然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在
Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式
一句话 Zookeeper = 文件系统+通知系统
Zookeeper怎么使用
https://zookeeper.apache.org/ 从这里下载
放入/opt下解压,更名为zk1 //起名字什么的随便起了
将zk1/conf/zoo_sample.cfg 复制 在该目录下为zoo.cfg
更改端口号,配置数据目录和日志目录
dataDir=/myzookeeper/zk1/data //在相应目录创建data文件夹 增加一个myid文件里面写zookeeper集群中的主机号,即下面server.X 的X
dataLogDir=/myzookeeper/zk1/logs
(此配置为伪分布式配置)
server.1=127.0.0.1:2191:3191 //第一个端口为通信端口,供server之间传输数据,第二个端口为监视端口,将无心跳的Zookeeper从集群中剔除
server.2=127.0.0.1:2192:3192
server.3=127.0.0.1:2193:3193 //假设3个Zookeeper
zk1 为三份分别为zk1,zk2,zk3分别修改zk2,zk3的zoo.cfg
修改完成 /myzookeeper/zk1/bin/zkServer.sh start 将三个Zookeeper启动 //需要java环境
ps -ef|grep zookeeper|grep -v grep|awk '{print$2}' 可查看三个Zookeeper的进程号
/myzookeeper/zk1/bin/zkCli.sh -server 127.0.0.1:2181 分别登录 两个客户端 测试一下 create /test v1 看是数据同步
help可看基础Zookeeper命令,quit退出客户端