1、分布式安装部署
0)集群规划
在 hadoop102、hadoop103 和 hadoop104 三个节点上部署 Zookeeper。
1)解压安装
(1)解压 zookeeper 安装包到/opt/module/目录下:
tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
(2)在/opt/module/zookeeper-3.4.10/这个目录下创建 zkData:
mkdir -p zkData
(3)重命名/opt/module/zookeeper-3.4.10/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg:
mv zoo_sample.cfg zoo.cfg
2)配置 zoo.cfg 文件
dataDir=/opt/module/zookeeper-3.4.10/zkData
增加如下配置 #######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
配置说明:
Server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的 ip 地址;
C 是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
集群模式下配置一个文件myid,这个文件在dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server。
3)集群操作
(1)在/opt/module/zookeeper-3.4.10/zkData 目录下创建一个 myid 的文件
touch myid
(2)编辑 myid 文件
vi myid
在文件中添加与 server 对应的编号:如 2
(3)拷贝配置好的 zookeeper 到其他机器上
scp -r zookeeper-3.4.10/ [email protected]:/opt/app/
scp -r zookeeper-3.4.10/ [email protected]:/opt/app/
并分别修改 myid 文件中内容为 3、4
(4)分别启动 zookeeper
bin/zkServer.sh start
(5)查看状态
bin/zkServer.sh status
2、客户端命令行操作
1)启动客户端
bin/zkCli.sh
2)显示所有操作命令
help
3)查看当前 znode 中所包含的内容
ls /
4)查看当前节点数据并能看到更新次数等数据
ls2 /
5)创建普通节点
create /app1 "hello app1"
create /app1/server101 "192.168.1.101"
6)获得节点的值
get /app1
get /app1/server101
7)修改节点数据值
set /app1 999
8)删除节点
delete /app1/bb
9)递归删除节点
rmr /app2
10)查看节点状态
stat /app1