zookeepr入门
一、简介
zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。
1.1、Zookeeper工作机制:
zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,他负责存储和管理大家都关心的数据,然后接收观察者的注册,一旦这些数据的状态发生变化,zookeeper就将负责通知已经在zookeeper上注册的那些观察者做出相应的反应。
1.2、Zookeeper特点:
1)、zookeeper:一个领导者(leader),多个跟随者(follower)组成的集群;
2)、集群中只要有半数以上节点存活,zookeeper集群就能正常的服务;
3)、全局数据一致:每个server保存一份相同的数据副本,Client无论链接到那个server,数据都是一致的;
4)、更新请求循序进行,来自同一个client的更新请求按期发送顺序依次执行;
5)、数据更新原子性,一次数据更行要么成功,要么失败;
6)、实时性,在一定时间范围内,Client能读到最新数据。
1.3、Zookeeper的数据结构
1.4、Zookeeper的应用场景
提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。
1.5、Zookeeper的安装测试
1)、安装java环境,并配置好java相关的环境变量$JAVA_HOME
2)、下载最新的稳定版并解压或者上传文件包
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
tar -zxvf zookeeper-3.4.3.tar.gz
3)、生成配置
cp zoo_sample.cfg zoo.cfg
可执行文件都在bin/目录下,配置都在conf/目录下,conf/目录下有个zoo_sample.cfg,是样板配置文件,复制一份成zoo.cfg,里面有两个比较重要的配置:
dataDir=/var/lib/zookeeper # 数据存放位置,可根据需要修改
clientPort=2181 # 服务监听端口,可根据需要修改
4)、启动服务
启动:bin/zkServer.sh start
停止:bin/zkServer.sh stop
查询状态:bin/zkServer.sh status
重启:zkServer.sh restart
参看文档:https://www.cnblogs.com/zhijian1574/p/12859657.html
http://t.zoukankan.com/yangxianyang-p-13675616.html
https://www.cnblogs.com/tonylovett/p/5227973.html