集群规划
在hadoop101、hadoop102、hadoop103三个节点上部署Zookeeper。
解压安装
- 解压zookeeper安装包到/opt/module/目录下
tar -zxvf zookeeper-3.4.12.tar.gz -C /opt/module/
- 在/opt/module/zookeeper-3.4.12/这个目录下创建data/zkData
mkdir -p data/zkData
- 重命名/opt/module/zookeeper-3.4.12/conf这个目录下的zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg
配置zoo.cfg文件
- 具体配置
#修改dataDir
dataDir=/opt/module/zookeeper-3.4.12/data/zkData
#增加如下配置
#######################cluster##########################
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
- 配置参数解读
Server.A=B:C:D。
A是一个数字,表示这个是第几号服务器;
B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
myid
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
- 在/opt/module/zookeeper-3.4.12/data/zkData目录下创建一个myid的文件
touch myid
- 编辑myid文件 ,在文件中添加与server对应的编号,就是只存一个数字
拷贝配置好的zookeeper到其他机器上,并分别修改myid文件中内容为2、3
集群操作
- 分别 启动zookeeper
bin/zkServer.sh start
- 查看状态
bin/zkServer.sh status
客户端命令行操作
启动客户端
bin/zkCli.sh
退出客户端
quit
命令基本语法 | 功能描述 |
---|---|
help | 显示所有操作命令 |
ls path [watch] | 使用 ls 命令来查看当前znode中所包含的内容 |
ls2 path [watch] | 查看当前节点数据并能看到更新次数等数据 |
create | 普通创建 -s 含有序列 -e 临时(重启或者超时消失) |
get path [watch] | 获得节点的值 |
set | 设置节点的具体值 |
stat | 查看节点状态 |
delete | 删除节点 |
rmr | 递归删除节点 |
注意:创建节点时一定要添加数据,否则会报错。报错还是好的,有时候会没有任何反馈,但其实创建失败了。