Zookeeper是Google的Chubby的一个开源的实现,是Hadoop的分布协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等,保证hadoop的HA(高可用),它本身也是个集群(提供少量数据的存储和管理)
大部分分布式应用需要一个主控,协调器或控制器来管理物理分布的子进程(资源,任务分配等)
Zookeeper:提供通用的分布式锁服务,用以协调分布式应用
Zookeeper安装和配置(集群模式)
在一台虚拟机上运行如下脚本1curl https://file.femnyy.com/file/install_zookeeper.sh |sudo sh
准备工作
- clone三台之后,修改主机名为zookeeper1,zookeeper2,zookeeper3,修改/etc/hosts
- 修改IP /etc/sysconfig/network-scripts/ 在的三个IP
- 关闭防火墙
- ssh免登陆
- 安装JDK,配置环境变量
- zoo.conf的配置dataDir中的目录下创建一个myid文件
再修改vim /root/zookeeper-3.4.10/data/myid 对应的Id号
启动Zookeeper:12# 在三台虚拟机中都执行zkServer.sh start
查看Zookeeper状态:12# 在三台虚拟机中都执行zkServer.sh status
提供一个命令行的客户端123456789zkCli.shhelp# 创建一个共同的配置文件,所有的zookeeper集群都能访问到create /zp241 path:/home/femn/ get /zp241 # 启动另一个虚拟机的命令行客户端也可以看到上传的内容zkCli.shget /zp241 quit
zookeeper管理客户所存放的数据采用的是类似于文件树的结构
每一个节点叫做一个node:节点分为两种类型短暂的和持久
短暂的Node的客户端会话结束时,zookeeper会将该短暂的node删除,同时 短暂的node不可以有子节点