Zookeeper分布式协调服务
一、初识zookeeper
1、zookeeper简介
2、特性
一致性
可靠性
顺序性
原子性
实时性
3、角色
Leader:领导者 一个
Follower:追随者 多个
Observer:观察者
二、zookeeper分布式集群部署
1、下载
2、上传安装包
3、解压
4、配置环境变量
5、zookeeper的配置文件
复制
修改配置
6、创建myid文件
7、分发文件
分发环境变量配置文件
分发myid文件
修改Hadoop02的myid为2和Hadoop03的myid为3
8、使环境变量生效
9.启动zookeeper集群
注意:必须挨个启动
依次启动zookeeper
10.停止zookeeper集
注意:必须挨个停止
三. Zookeeper的shell操作
1.启动集群
zkServer.sh start
2.启动shell
zkCli.sh
3.查看zookeeper某个目录信息
4.查看某个目录的数据信息
5.创建节点
6.获取节点
Get
7.修改节点
Set
8.监听节点
Get -w
9.删除节点
四.Zookeeper的Java API操作
1. 启动idea,新建一个maven工程
2. 引入pom依赖
3. 新建包,在包下新建一个类
1) 测试客户端是否创建成功
package cn.edu.hgu.zookeeper;
import org.apache.zookeeper.*;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
/**
* ZookeeperDemo
*
* @author 落空空
* @date 2021-11-06 22:12
*/
public class ZookeeperDemo {
public static void main(String[] args) throws IOException, KeeperException, InterruptedException {
//1、创建zookeeper的客户端
ZooKeeper zooKeeper = new ZooKeeper("hadoop01:2181,hadoop02:2181,hadoop03:2181", 30000, new Watcher() {
public void process(WatchedEvent watchedEvent) {
System.out.println(watchedEvent.toString());
}
});
System.out.println(zooKeeper);
}
}
2) 创建节点
用shell命令查看是否创建成功
3) 创建子节点
查看是否创建成功
4) 获取目录节点数据
5) 获取子目录节点数据
6) 修改子目录节点数,使得监听触发
再次查看结果是否修改成功
7) 判断目录是否存在
8) 删除子目录节点
再次查看是否删除成功
9) 删除目录节点
再次查看是否删除成功