当前位置: 首页 > news >正文

zookeeper Curator(1):认识zookeeper和操作命令

文章目录

  • zookeeper 概念
  • zookeeper 的安装
    • linux 安装zookeeper
      • 下载ZooKeeper
      • 解压文件
      • 配置环境变量
      • 创建配置文件
      • 创建数据目录
      • 启动ZooKeeper
      • 停止ZooKeeper
      • 集群模式配置(可选)
    • windows 安装zookeeper
  • zookeeper 数据模型
  • zookeeper 服务端的常用命令
  • zookeeper 客户端常用命令
    • 基础连接与会话命令
    • 节点操作命令
    • 节点监控命令
    • 集群管理命令
    • 高级查询命令
    • 事务操作命令
    • 四字运维命令(需通过telnet或nc执行)

zookeeper 概念

  • zookeeper 是Apache Hadoop 项目下的一个子项目,是一个树形目录服务。
  • zookeeper 翻译过来就是 动物园管理员,它是用来管理Hadoop(大象),Hive(蜜蜂),Pig(小猪)的管理员。简称ZK。
  • zookeeper 是一个分布式的,开源的分布式应用程序的协调服务。

zookeeper 提供的主要功能包括:

  • 配置管理

在这里插入图片描述

  • 分布式锁

在这里插入图片描述

  • 集群管理
    在这里插入图片描述

zookeeper 的安装

linux 安装zookeeper

下载ZooKeeper

访问Apache ZooKeeper官网的下载页面,选择稳定版本(如3.7.1)。下载压缩包(如apache-zookeeper-3.7.1-bin.tar.gz)。

wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz

解压文件

使用以下命令解压下载的压缩包,并移动到指定目录(如/opt/zookeeper):

tar -xzf apache-zookeeper-3.7.1-bin.tar.gz
sudo mv apache-zookeeper-3.7.1-bin /opt/zookeeper

配置环境变量

编辑~/.bashrc~/.zshrc文件,添加以下内容:

export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

执行命令使配置生效:

source ~/.bashrc

创建配置文件

复制默认配置文件模板并修改:

cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg

编辑zoo.cfg,设置数据目录和端口(默认2181):

dataDir=/opt/zookeeper/data
clientPort=2181

创建数据目录

创建配置文件中指定的数据目录:

mkdir -p /opt/zookeeper/data

启动ZooKeeper

使用以下命令启动服务:

zkServer.sh start

验证服务状态:

zkServer.sh status

停止ZooKeeper

需要停止服务时,运行:

zkServer.sh stop

集群模式配置(可选)

如需搭建集群,需在每台服务器的zoo.cfg中添加如下配置,并创建myid文件:

server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888

在每台服务器的dataDir目录中创建myid文件,内容为对应的服务器ID(如1、2、3)。

windows 安装zookeeper

安装请见:dubbo(2):zookeeper和dubbo-admin的安装
注意: dubbo-admin是用于对zookeeper监听和管理的,在此处不需要安装,故也不需要nodejs环境。

zookeeper 数据模型

  • zookeeper 是一个树形目录服务,其数据模型和unix的文件系统很类似,拥有一个层次化结构。

  • 这里面的每一个节点被称为: ZNode,每个节点上都会保存自己的数据和节点信息。

  • 节点可以拥有子节点,同时也允许少量数据(1MB)存储在该节点之下。

    节点可以分为四大类:

  • PERSISTENT 持久化节点

  • EPHEMERAL 临时节点 : -e

  • PERSISTENT_SEQUENTIAL 持久化顺序节点 : -s

  • EPHEMERAL_SEQUENTIAL 临时化顺序节点:-es
    在这里插入图片描述
    在这里插入图片描述

zookeeper 服务端的常用命令

  • 启动zookeeper 服务
./zkServer.sh start
  • 查看zookeeper 服务状态
./zkServer.sh status
  • 停止zookeeper 服务状态
./zkServer.sh stop
  • 重启zookeeper 服务
./zkServer.sh restart

zookeeper 客户端常用命令

基础连接与会话命令

连接ZooKeeper服务器:

zkCli.sh -server <host:port>

创建会话后,可使用以下命令查看帮助:

help

节点操作命令

tips: 创建时,没有设置值,默认时null,需要注意和curator 区别开。
在这里插入图片描述

创建持久节点:

create /path "data"

创建临时节点(会话结束自动删除):

create -e /ephemeral "data"

创建顺序节点(自动追加序号):

# 不设置值
create -s /sequential
# 设置节点值data
create -s /sequential "data"

获取节点数据:

get /path

设置节点数据:

set /path "new_data"

删除节点(需无子节点):

delete /path

递归删除节点(含子节点):

deleteall /path

节点监控命令

注册数据变更监听:

get -w /path

注册子节点变更监听:

ls -w /path

集群管理命令

查看集群状态:

stat /path

查看节点ACL权限:

getAcl /path

设置节点ACL权限:

setAcl /path scheme:id:permissions

高级查询命令

列出子节点:

ls /path

递归列出所有子节点:

ls -R /path

查看节点统计信息:

stat /path

事务操作命令

开启事务:

multi

提交事务:

commit

四字运维命令(需通过telnet或nc执行)

查看服务器状态:

echo stat | nc <host> 2181

查看连接详情:

echo cons | nc <host> 2181

查看服务器角色:

echo srvr | nc <host> 2181

强制重新加载配置:

echo redo | nc <host> 2181

注意:四字命令需在zoo.cfg中配置4lw.commands.whitelist=*开启全部权限。生产环境建议按需配置白名单。

相关文章:

  • 【大数据】HDFS分布式 机架感知
  • 2.2.3、CAN总线-位时间特性、中断
  • 删除排序数组中的重复项 II
  • 搭建Flink分布式集群
  • nginx目录美化
  • OD 算法题 B卷【数字序列比大小】
  • C++法则20:元编程是 C++ 中实现零开销抽象的核心工具之一,但并非所有抽象都能通过它实现零开销。
  • 人大金仓数据库jdbc连接jar包kingbase8-8.6.0.jar驱动包最新版下载(不需要积分)
  • 【世纪龙科技】新能源汽车动力电池总成装调与检修教学软件
  • ADVANCED INTELLIGENT SYSTEMS 东京大学仿生人类手指机器人,实现“皮肤”补水!
  • VS Code 配置本地 Dev Container
  • stream使用案例
  • 代码随想录算法训练营day18
  • 什么是 Paxos和Raft
  • 信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(下)
  • 商业秘密中经营信息的法律保护探析——以客户名册为例
  • 开源3D 动态银河系特效:Vue 与 THREE.JS 的奇幻之旅
  • 如何在FastAPI中打造坚不可摧的Web安全防线?
  • Java 编程之观察者模式详解
  • 笔记05:Allegro导入DXF文件