本文主要包含Zookeeper的概要介绍,使用场景,然后手把手教学如何安装,服务端、客户端常用命令介绍以及使用命令来实操zk
初始Zookeeper
Zookeeper概念
Zookeeper是Apache Hadoop项目下的一个子项目,是一个树形目录服务
Zookeeper是一个分布式的、开源的分布式应用程序的协调服务
Zookeeper提供的主要功能包括:
- 配置管理
- 分布式锁
- 集群管理
Zookeeper安装
注:Zookeeper是依赖java环境的,请提前自行百度安装
下载
【Zookeeper下载地址】 https://zookeeper.apache.org/releases.html
可根据自身情况下载合适版本
安装
将下载好的安装包通过ftp传到Linux
# 解压
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
# 进入解压后目录
cd apache-zookeeper-3.7.0
# 查看配置文件,有的版本下面是zoo_exam.cfg修改下即可
cat conf/zoo.cfg
具体配置请结合自身需求做更改,本例选择默认
# 切换到bin
cd bin
# 启动Zookeeper,可选择追加&后台启动
./zkServer.sh start
# 验证是否启动成功
ps -ef|grep zookeeper
zookeeper命令操作
Zookeeper数据模型
- Zookeeper是一个树形目录服务,其数据模型和Unix的文件系统目录树很类似,拥有一个层次化结构
- 这里面的每个节点都被称为:ZNode,每个节点上都会保存自己的数据和节点信息
- 节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点下
- 节点可以分为四大类:
- PERSISTENT 持久化节点 默认
- EPHEMERAL临时节点 命令参数:-e
- PERSISTENT _SEQUENTIAL持久化顺序节点 命令参数:-s
- EPHEMERAL _SEQUENTIAL临时顺序节点 命令参数:-es
服务端常用命令
- 启动Zookeeper服务:./zkServer.sh start
- 查看Zookeeper服务状态:./zkServer.sh status
- 停止Zookeeper服务:./zkServer.sh stop
- 重启Zookeeper服务:./zkServer.sh restart
举例
# 以后台方式启动Zookeeper
[root@e056989ff085 bin]# ./zkServer.sh start &
[1] 608
[root@e056989ff085 bin]# ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
# 查看Zookeeper状态
[root@e056989ff085 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone #表示单机启动,端口2181
客户端常用命令
连接服务端
# 切到Zookeeper下的bin,启动客户端
[root@e056989ff085 bin]# ./zkCli.sh -server localhost:2181
-server后对应连接的Zookeeper服务的ip、port,如果是localhost:2181则可省略,默认就是连接这个即直接运行命令./zkCli.sh
# 连接成功后
[zk: localhost:2181(CONNECTED) 0]
# 退出客户端
[zk: localhost:2181(CONNECTED) 0] quit
客户端命令
ls path: 查看当前节点中所包含的内容
ls2 path:查看当前节点内容和详细信息,高版本已被淘汰,替换为ls -s path
get path:获取节点的值
set path value:修改节点值
delete path:删除节点
deleteall path:删除节点及其子节点
create path [value]:创建普通节点
create -e path [value]:创建临时节点 ,当quit退出客户端则临时节点消失
create -s path [value]:创建顺序节点
create -es path [value]:创建临时顺序节点
stat path:查看节点状态
版权声明:本文为qq_38668544原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。