博客
关于我
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/

    你可能感兴趣的文章
    Python pytz 时区函数返回一个相差 9 分钟的时区
    查看>>
    python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
    查看>>
    Python random和json模块
    查看>>
    Python random模块seed理解
    查看>>
    python range()函数
    查看>>
    Python rdflib可传递查询
    查看>>
    python redis 集群_python 搭建redis集群
    查看>>
    python redis连接,在Python中使用Redis连接池的正确方法
    查看>>
    python regex_Python RegEx
    查看>>
    python requests post 中文结果请求得到unicode
    查看>>
    Python Requests接口自动化测试实战
    查看>>
    Python requests模块
    查看>>
    python request与grequests该如何选择
    查看>>
    python request模块
    查看>>
    Python requirements.txt的使用方法
    查看>>
    Python REST(Web 服务)框架的推荐?
    查看>>
    Python rsa 加密
    查看>>
    Python RSA操作
    查看>>
    Python轻松实现统计学中重要的相关性分析
    查看>>
    Python scrapy 常见问题及解决 【遇到的坑】
    查看>>