zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
上面的解释有点抽象,简单来说zookeeper=文件系统+监听通知机制。
Zookeeper集群机制
半数机制,集群中半数以上机器存活,集群可用。
zookeeper适合装在奇数台机器上
投票机制(在票数相同时ID大的优先)
Zookeeper同步时间可能就会比较长(比如节点多数据多,集群大)
1.安装JDk
2.拷贝Zookeeper到linux系统下
3.解压到指定目录
tar -zxvf zookeeper3.4.10.tar.gz -C /opt/module/
二:
1.将conf下的zoo_sample.cfg修改为zoo.cfg
2.打开zoo.cfg修改dataDir路径(需要新建一个zkData文件夹)
三:操作zookeeper
1.启动zookeeper
./bin/zkServer.sh strat
2.查看进程是否启动
ps -aux | grep 'zookeeper'
3.查看状态
bin/zkServer.sh status
4.启动客户端
bin/zkCli.sh
5.退出客户端
quit
6.停止zookeeper
bin/zkServer.sh stop
四:选举机制(在服务器启动的适合):
1.半数机制:集群中半数以上机器存活,集群可用,所以zookeeper适合安装奇数台服务器
2.Zookeeper虽然在配置文件中没有指定master和slave,但是zookeeper工作时,是有一个节点leader,其他则为Follower,leader是通过内部的选举机制零时产生的。
3.选举开始
五:节点类型
持久
短暂
六:分布式安装部署
1.集群规划
# zookeeper的坑爹日常
1.没有jps命令
需要下载openjdk-devel
1.1 yum list *openjdk-devel* (然后在根据版本下载。这里不能缺少*号)
2. jps查不到zookeeper命令
2.1在jdk1.8版本不能使用3.5以上的zookeeper版本,实测3.4.14也不行,3.4.13可以正常运行
3.14.3的下载网址 http://mirrors.hust.edu.cn/apache/zookeeper/
# zookeeper数据,数据都是树形存储,数据都存在每个节点中
create:新建节点 -e就是短暂节点断开连接自己删除,不带就是短暂节点,-s就会给上版本号,0000001这样(/ 是根节点)
get:获取节点内容