发现几篇写的比较好的博客,转载来看看

转载地址:https://www.cnblogs.com/haippy/archive/2013/02/21/2919365.html

目录

  • Zookeeper C API 指南一(准备工作)
  • Zookeeper C API 指南二(监视(Wathes), 基本常量和结构体介绍)
  • Zookeeper C API 指南三(回调函数)
  • Zookeeper C API 指南四(C API 概览)
  • Zookeeper C API 指南五(同步 API 介绍)
  • Zookeeper C API 指南六(异步 API 介绍)
  • Zookeeper C API 指南七(Zookeeper 辅助 API 介绍)
  • Zookeeper C API 指南八(Zookeeper C API 应用示例)

Zookeeper C API 指南一(准备工作)

Zookeeper 官方页面上提供了一些编程指南 和 API 文档,不过大部分都是 Java 示例,涉及 C API 的部分很少,只有在 ZooKeeper Programmer's Guide 中 ACL Permissions 一节讲了 Zookeeper C API 中设置 ACL 应该注意的事项,正是由于缺少Zookeeper C API 相关的资料,大部分 Zookeeper C/C++ 开发者只能通过阅读 Zookeeper C API 的源码来了解 C API 的使用方法。

Zookeeper 伪分布式安装

首先是 Zookeeper 的安装,如果你没有足够的机器,建议在单机上通过伪分布式安装方法来模拟 Zookeeper 集群,我在这里提供给大家一个简单的安装包来降低伪分布式 Zookeeper 的安装难度,该安装包可以模拟一个 5 Zookeeper 实例的集群。下载 zookeeper-3.4.0-pseudoclusters.tar.bz2,解压至 /tmp/ 目录(注意,安装包里面 dataDir 和 dataLogDir 配置已经预设为 /tmp/ 目录,如果你只是自己在 Zookeeper 上做一些小实验,建议不要更改该配置,这样在你做完了实验以后删除 /tmp/zookeeper/ 目录即可),操作方法如下:

forhappy@haiping-ict:/tmp$ pwd
/tmp
forhappy@haiping-ict:/tmp$ tar xvf zookeeper-3.4.0-pseudoclusters.tar.bz2
forhappy@haiping-ict:/tmp$ cd zookeeper/
forhappy@haiping-ict:/tmp/zookeeper$ ls
server001  server003  server005          stopZKCluster.sh
server002  server004  startZKCluster.sh

然后在 /tmp/zookeeper 目录下执行 startZKCluster.sh 启动 Zookeeper 服务,或者执行 stopZKCluster.sh 停掉 Zookeeper 服务。

启动 Zookeeper 服务:

forhappy@haiping-ict:/tmp/zookeeper$ ./startZKCluster.sh .
starting zookeeper instance server001...
JMX enabled by default
Using config: /tmp/zookeeper/server001/zookeeper-3.4.0/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
starting zookeeper instance server002...
JMX enabled by default
Using config: /tmp/zookeeper/server002/zookeeper-3.4.0/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
starting zookeeper instance server003...
JMX enabled by default
Using config: /tmp/zookeeper/server003/zookeeper-3.4.0/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
starting zookeeper instance server004...
JMX enabled by default
Using config: /tmp/zookeeper/server004/zookeeper-3.4.0/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
starting zookeeper instance server005...
JMX enabled by default
Using config: /tmp/zookeeper/server005/zookeeper-3.4.0/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

停掉 Zookeeper 服务:

forhappy@haiping-ict:/tmp/zookeeper$ ./stopZKCluster.sh .
stopping zookeeper instance server001...
JMX enabled by default
Using config: /tmp/zookeeper/server001/zookeeper-3.4.0/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
stopping zookeeper instance server002...
JMX enabled by default
Using config: /tmp/zookeeper/server002/zookeeper-3.4.0/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
stopping zookeeper instance server003...
JMX enabled by default
Using config: /tmp/zookeeper/server003/zookeeper-3.4.0/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
stopping zookeeper instance server004...
JMX enabled by default
Using config: /tmp/zookeeper/server004/zookeeper-3.4.0/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
stopping zookeeper instance server005...
JMX enabled by default
Using config: /tmp/zookeeper/server005/zookeeper-3.4.0/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

Zookeeper C API 安装

Zookeeper C client 的实现在 src/c 目录下,进入到该目录安装 Zookeeper C client,步骤如下:

$ ./configure
$ make
$ sudo make install

至此,基本的准备工作已经完成,你可以通过 Zookeeper 本身提供的 Shell 来操作 Zookeeper,操作方法如下,进入 /tmp/zookeeper/server001/zookeeper-3.4.0 目录,执行bin/zkCli.sh -server 127.0.0.1:2181 进入 Zookeeper shell:

forhappy@haiping-ict:/tmp/zookeeper/server001/zookeeper-3.4.0$ bin/zkCli.sh -server 127.0.0.1:2181
[zk: 127.0.0.1:2181(CONNECTED) 2] help
ZooKeeper -server host:port cmd argsconnect host:portget path [watch]ls path [watch]set path data [version]rmr pathdelquota [-n|-b] pathquit printwatches on|offcreate [-s] [-e] path data aclstat path [watch]close ls2 path [watch]history listquota pathsetAcl path aclgetAcl pathsync pathredo cmdnoaddauth scheme authdelete path [version]setquota -n|-b val path

在 shell 中你可以完成基本的操作,如创建、获取、删除、设置某一节点,设置节点 ACL等,可以 zookeeper shell 中通过 help 获取相关命令的用法。

Zookeeper C API 指南一(准备工作)相关推荐

  1. Zookeeper C API 指南

    以前自己的博客中转载.翻译或写过(不过自己才疏学浅,写的不好)一些 Zookeeper 方面的文章,但是都没有涉及到 Zookeeper C API 的内容,今天的这篇博客是我农历新年的第一篇技术博客 ...

  2. Zookeeper C API 指南一(转)

    Zookeeper 监视(Watches) 简介 Zookeeper C API 的声明和描述在 include/zookeeper.h 中可以找到,另外大部分的 Zookeeper C API 常量 ...

  3. Zookeeper C API 指南六(异步 API 介绍)

    转载地址:https://www.cnblogs.com/haippy/archive/2013/02/21/2920426.html 上一讲<Zookeeper C API 指南五(同步 AP ...

  4. zookeeper C API实例

    之前一直用zookeeper的java API,最近要用C开发,所以看了C的API及实现 使用zookeeper C API 的步骤: (1)安装zookeeper,直接下载,解压,配置文件即可 (2 ...

  5. zookeeper使用(三):项目中zookeeper的配置 和 zookeeper C API的使用

    zookeeper使用(三):项目中zookeeper的配置 和 zookeeper C API的使用 一:假定一个项目需求 假设我要启动多台proxy服务,有一个网页客户端需要连接我这台proxy服 ...

  6. ZooKeeper程序员指南--使用ZooKeeper开发分布式应用程序

    ZooKeeper程序员指南 开发使用ZooKeeper的分布式应用程序 介绍 ZooKeeper数据模型 ZNodes 手表 数据访问 短暂的节点 序列节点 - 唯一命名 容器节点 TTL节点 在Z ...

  7. 2021年大数据ZooKeeper(五):ZooKeeper Java API操作

    目录 ZooKeeper Java API操作 引入maven坐标 节点的操作 ZooKeeper Java API操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端 ...

  8. 【ZooKeeper Notes 3】ZooKeeper Java API 使用样例

    查看PDF版本 转载请注明:@ni掌柜 nileader@gmail.com ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务框架,包含一组简单的原语集合.通过这些原语言的组合使用, ...

  9. Django REST framework API 指南(2):响应

    Django REST framework API 指南(1):请求 Django REST framework API 指南(2):响应 Django REST framework API 指南(3 ...

  10. 微信公众平台自定义菜单接口API指南

    微信公众平台开发模式自定义菜单接口API指南 开发实现方法,请查看 微信公众平台开发(58)自定义菜单 简介 开发者获取使用凭证(如何获取凭证)后,可以使用该凭证对公众账号的自定义菜单进行创建.查询和 ...

最新文章

  1. java script中==和===_Java Script与CSS的问题
  2. Eclipse Android编程快捷键
  3. redis添加认证密码
  4. mac下查看tensorboard中的graph
  5. pytorch之tensor按索引赋值,三种方法!
  6. mysql 远程服务器返回错误404_远程服务器返回异常: (404) 未找到
  7. 米筐量化不支持c语言_量化 | 从零开始学量化(三):数据获取途径
  8. Taro+react开发(15)--对应文件编译
  9. Verilog HDL语言设计计数器+加法器
  10. JMeter录制的两种方法
  11. 聊聊拒绝忽悠的批判性思维
  12. 计算机的网络测速,电脑怎么网络测速
  13. win7蓝牙怎么连接_win7添加打印机提示windows无法连接怎么办?正确解决方法分享...
  14. Allegro PCB操作技巧
  15. 径向渐变加阴影html,CSS3 径向渐变(radial-gradient)
  16. 使用Windows优化大师或其他注册表清理软件导致NVIDIA控制面板打不开的解决方法
  17. AD16摆放元件丝印
  18. mysql查询每个分组的最新数据
  19. Deferred Shading VS Deferred Lighting
  20. cuda相关的dockerfile build时异常处理

热门文章

  1. 7-1 计算物体自由下落的距离 (5 分)
  2. RK3288_Android7.1调试RTC总结(二)
  3. Altium Designer 在pcb下导入的原件引脚是绿的
  4. 做web开发需要学习哪些技术--基础篇
  5. 支付宝玉伯:我心目中的优秀API
  6. nyoj--38--布线问题
  7. 深层网络搜索核心技术研讨
  8. Docker学习--基本docker命令
  9. 冰点密码忘记了怎么办
  10. vue多语言插件vue-i18n