当前位置: 首页 > 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=*开启全部权限。生产环境建议按需配置白名单。

http://www.lqws.cn/news/555535.html

相关文章:

  • 华为云鸿蒙应用入门级开发者认证 实验部分题目及操作步骤
  • 【龙泽科技】新能源汽车故障诊断仿真教学软件【吉利几何G6】
  • Qt:QCustomPlot库的QCPAxis
  • 第一章 城镇道路工程 1.5 安全质量控制
  • python解释器 与 pip脚本常遇到的问题汇总
  • PYTHON从入门到实践7-获取用户输入与while循环
  • 医疗标准集中标准化存储与人工智能智能更新协同路径研究(上)
  • Next.js实战:AI两小时开发文档社区
  • pytest 中的重试机制
  • 分布式电源采集控制装置:江苏光伏电站的“智能调度中枢
  • 【Java--SQL】${}与#{}区别和危害
  • 如何关闭win更新-随笔11
  • 稳定币独角兽:Circle
  • 零基础langchain实战二:大模型输出格式化成json
  • 【SpringSecurity鉴权】
  • 深入剖析AI大模型:Dify的介绍
  • centos指令
  • 利用GPU加速TensorFlow
  • 一文读懂Kubernetes(K8s)
  • 设计模式 (四)
  • Gradio全解13——MCP详解(4)——TypeScript包命令:npm与npx
  • maven多模块、多层级项目 如何只构建指定的项目
  • TypeScript 中的 WebSocket 入门
  • stream使用案例
  • 【Docker基础】Docker容器管理:docker stats及其参数详解
  • JavaScript中Object()的解析与应用
  • 深入详解:决策树算法的概念、原理、实现与应用场景
  • 思维提升篇-数学抽象与计算机实现
  • ChatboxAI 搭载 GPT 与 DeepSeek,引领科研与知识库管理变革
  • 华为云Flexus+DeepSeek征文|利用华为云一键部署的Dify平台构建高效智能电商客服系统实战