一、zookeeper
官网:https://zookeeper.apache.org/(项目名.apache.org)
ZooKeeper is a centralized service for maintaining configuration information, naming,providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications.
为分布式框架提供协调服务的Apache项目 是Apache Hadoop 项目下的一个子项目。
下载地址:https://zookeeper.apache.org/releases.html (含-bin)
https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
zookeeper特点
1.Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群
2.集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台。
3.全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。
4.更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。
5.数据更新原子性,一次数据更新要么成功,要么失败。
6.实时性
zookeeper提供的主要功能包括:
二、使用步骤
1.单机模式
[root@centos3 software]#tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/modules/
[root@centos3 conf]# vim /etc/profile
......
export ZOOKEEPER_HOME=/opt/modules/apache-zookeeper-3.7.1-bin
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
......
[root@centos3 conf]# source /etc/profile
[root@centos3 conf]#cd /opt/modules/apache-zookeeper-3.7.1-bin/conf
[root@centos3 conf]#cp zoo_sample.cfg zoo.cfg & vim zoo.cfg
......
dataDir=/opt/modules/apache-zookeeper-3.7.1-bin/data
......
[root@centos3 software]# zkServer.sh start
[root@centos3 software]# zkServer.sh status
2.集群模式
[root@centos1 software] tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/modules/
#修改文件名称
[root@centos1 modules] mv apache-zookeeper-3.7.1-bin/ apache-zookeeper-3.7.1
# 配置服务器编号 在apache-zookeeper-3.7.1目录下创建目录,在文件中添加与server对应的编号
[root@centos1 apache-zookeeper-3.7.1]mkdir zkData
[root@centos1 zkData]vim myid #注意上下左右不要有空格
......
1
......
# 编写配置文件
[root@centos1 conf]cp zoo_sample.cfg zoo.cfg
[root@centos1 conf]vim zoo.cfg
......
dataDir=/opt/modules/apache-zookeeper-3.7.1/dataDir #注意myid在这个文件中
server.1= centos1:2888:3888
server.2= centos2:2888:3888
server.5= centos5:2888:3888
......
#复制ZooKeeper安装信息到其他节点
[root@centos1 conf]scp -r /opt/modules/apache-zookeeper-3.7.1/ centos2:/opt/modules/
[root@centos1 conf]scp -r /opt/modules/apache-zookeeper-3.7.1/ centos5:/opt/modules/
# 启动ZooKeeper 分别进入每个节点ZooKeeper安装目
[root@centos2 apache-zookeeper-3.7.1] bin/zkServer.sh start
# 查看状态
[root@centos2 apache-zookeeper-3.7.1] bin/zkServer.sh status
# 测试客户端连接
[root@centos2 apache-zookeeper-3.7.1] zkCli.sh -server centos1:2181
启动ZooKeeper
编写配置文件
测试客户端连接
三、命令操作
3.1 zookeeper 数据模型
3.2 zookeeper命令
3.3 zookeeper 分布式锁