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) 删除目录节点

再次查看是否删除成功











