Zookeeper系列之初识zk

本文主要包含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版权协议,转载请附上原文出处链接和本声明。