博客
关于我
Zookeeper学习笔记
阅读量:411 次
发布时间:2019-03-06

本文共 1403 字,大约阅读时间需要 4 分钟。

Zookeeper 介绍与操作指南

Zookeeper 是一个开源的分布式应用程序协调服务,主要用于集中管理配置信息并提供分布式的同步机制。作为 Google Chubby 的开源实现,Zookeeper 在现代分布式系统中占据重要地位,广泛应用于 Hadoop、HBase、Kafka 等项目中,是每个分布式开发人员必须掌握的技能。


Zookeeper 的特点

Zookeeper 的设计理念体现在以下几个方面:

  • 简单:核心是一个精简的文件系统,支持基本操作和抽象操作(如排序和通知)。
  • 丰富:原语操作丰富,可实现分布式队列、分布式锁及同级别节点的领导者选举等协调数据结构。
  • 高可用:支持集群模式,轻松解决单点故障问题。
  • 松耦合式交互:进程间交互不需要了解彼此,某进程可以在离开后留下消息供其他进程读取。
  • 资源库:提供一个通用协调模式的开源共享存储库,减少对通用协议的编写需求。

  • 常用操作

    1. 安装与启动

    通过 Docker 启动 Zookeeper:

    docker pull zookeeperdocker run -p 2181:2181 zookeeper

    进入容器执行命令:

    docker exec -it $(docker ps | grep zookeeper | awk '{print $2}')

    2. 查看运行状态

    ./zkServer.sh status

    3. 客户端连接

    ./zkCli.sh

    4. 常用命令

    • 查看节点信息

      ls /zookeeper
    • 获取节点更新信息

      stat /zookeeper
    • 创建节点

      create /path [options] data [acl]
      • -s:创建顺序节点。
      • -e:创建临时节点。
    • 修改节点数据

      set /path data_version
    • 删除节点

      delete /path [version]
    • 设置watch事件

      stat /path [watch]

      或者:

      get /path [watch]

    ACL 权限

    Zookeeper 的节点支持5种操作权限:CREATE、READ、WRITE、DELETE、ADMIN。其中,DELETE 指子节点删除权限,其余权限指对自身节点的操作权限。

    认证方式

  • world:默认权限,所有用户均可访问。
  • auth:认证用户(可通过 addauth 命令添加)。
  • digest:基于用户名:密码的认证方式。
  • ip:基于IP地址的认证。

  • 四字命令

    Zookeeper 提供一些四字命令用于查询服务状态及相关信息。这些命令主要通过 telnetnc 提交:

    四字命令 功能描述
    conf 输出服务配置详情
    cons 列出所有客户端的会话信息
    dump 列出未处理的会话及临时节点
    envi 输出服务环境详情
    reqs 列出未处理的请求
    ruok 测试服务状态(返回“imok”或无响应)
    stat 输出性能和客户端连接详情
    wchs 列出服务器watch的详细信息
    wchc 通过session列出watch详情
    wchp 通过路径列出watch详情

    参考资料

  • Zookeeper官方文档
  • Zookeeper GitHub仓库
  • Zookeeper教程
  • Zookeeper CLI命令参考

  • Zookeeper 的学习和实践将帮助你更好地理解分布式系统的核心架构,是一项值得投入的学习之路!

    转载地址:http://uerkz.baihongyu.com/

    你可能感兴趣的文章
    VM16+ubuntu20.04+win10如何固定虚拟机的ip (固定IP)
    查看>>
    OpenLayers学习一:地图加载(以类为接口)
    查看>>
    OpenLayers学习三:地图旋转及地图跳转到某一点的方式(以类为接口)
    查看>>
    OpenLayers学习二:点标记的添加删除和修改(以类为接口)
    查看>>
    Openlayers实战教程学习大纲及引导
    查看>>
    Openlayers实战:LayerGroup添加删除显示隐藏
    查看>>
    Openlayers实战:loadstart和loadend事件
    查看>>
    Openlayers实战:modifystart、modifyend互动示例
    查看>>
    Openlayers实战:moveend事件,利用calculateExtent获取地图左上和右下的坐标
    查看>>
    Openlayers实战:overlay上播放视频
    查看>>
    Openlayers实战:select简介及select选择feature实战
    查看>>
    Openlayers实战:个性化比例尺
    查看>>
    Openlayers实战:使几何图形适配窗口
    查看>>
    Openlayers实战:列表与图层双向信息提示
    查看>>
    Openlayers实战:判断共享单车是否在电子围栏内
    查看>>
    Openlayers实战:利用turf获取两个多边形的交集、差集、并集
    查看>>
    Openlayers实战:加载Bing地图
    查看>>
    Openlayers实战:加载CSV文件
    查看>>
    Openlayers实战:加载GeoJSON
    查看>>
    Openlayers实战:加载geoserver发布的WMS数据
    查看>>