ZooKepper学习入门

本文介绍了ZooKeeper的学习入口,包括官方文档和中文翻译资源。深入探讨了ZooKeeper的应用场景,以及其三种模式和部署策略。同时提到了C语言编程接口的使用,以及运维中可能遇到的问题和解决方案。此外,还提及了ZooKeeper之外的其他分布式协调程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关网站

官网 https://zookeeper.apache.org/

官网的中文翻译(不完整) http://zookeeper.majunwei.com/


应用场景

http://nileader.blog.51cto.com/1381108/1040007

http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/

http://jm.taobao.org/2011/10/08/1232/


ZooKeeper的三种模式和部署

ZooKeeper有单机、伪分布式 和 分布式 三种部署模式
以上都是安装入门讲解不错的文章


C语言编程


注意事项:
有两个库 zookeeper_st和zookeeper_mt,我们尽量都用zookeeper_mt,并且使用的时候加上-DTHREADED,zookeeper_st只支持异步api,并且需要自己处理事件和回调,以下是官方的说明
The package includes two shared libraries: zookeeper_st and zookeeper_mt. The former only provides the asynchronous APIs and callbacks for integrating into the application's event loop. The only reason this library exists is to support the platforms were a  pthread  library is not available or is unstable (i.e. FreeBSD 4.x). In all other cases, application developers should link with zookeeper_mt, as it includes support for both Sync and Async API.

In order to be able to use the ZooKeeper API in your application you have to remember to

  1. Include ZooKeeper header: #include <zookeeper/zookeeper.h

  2. If you are building a multithreaded client, compile with -DTHREADED compiler flag to enable the multi-threaded version of the library, and then link against against thezookeeper_mt library. If you are building a single-threaded client, do not compile with -DTHREADED, and be sure to link against the zookeeper_st library.


一些常量定义
  # file type masks
  ZOO_EPHEMERAL = 1
  ZOO_SEQUENCE  = 2
  # session state
  ZOO_EXPIRED_SESSION_STATE  = -112
  ZOO_AUTH_FAILED_STATE      = -113
  ZOO_CLOSED_STATE           = 0
  ZOO_CONNECTING_STATE       = 1
  ZOO_ASSOCIATING_STATE      = 2
  ZOO_CONNECTED_STATE        = 3
  # watch types
  ZOO_CREATED_EVENT      = 1
  ZOO_DELETED_EVENT      = 2
  ZOO_CHANGED_EVENT      = 3
  ZOO_CHILD_EVENT        = 4
  ZOO_SESSION_EVENT      = -1
  ZOO_NOTWATCHING_EVENT  = -2
  # only used by the C extension
  ZOO_LOG_LEVEL_ERROR = 1
  ZOO_LOG_LEVEL_WARN  = 2
  ZOO_LOG_LEVEL_INFO  = 3
  ZOO_LOG_LEVEL_DEBUG = 4
  
   # exceptions/errors
  ZOK                    =  0
  ZSYSTEMERROR           = -1
  ZRUNTIMEINCONSISTENCY  = -2
  ZDATAINCONSISTENCY     = -3
  ZCONNECTIONLOSS        = -4
  ZMARSHALLINGERROR      = -5
  ZUNIMPLEMENTED         = -6
  ZOPERATIONTIMEOUT      = -7
  ZBADARGUMENTS          = -8
  ZINVALIDSTATE          = -9
  # api errors
  ZAPIERROR                 = -100
  ZNONODE                   = -101
  ZNOAUTH                   = -102
  ZBADVERSION               = -103
  ZNOCHILDRENFOREPHEMERALS  = -108
  ZNODEEXISTS               = -110
  ZNOTEMPTY                 = -111
  ZSESSIONEXPIRED           = -112
  ZINVALIDCALLBACK          = -113
  ZINVALIDACL               = -114
  ZAUTHFAILED               = -115
  ZCLOSING                  = -116
  ZNOTHING                  = -117
  ZSESSIONMOVED             = -118

运维&问题

ZooKeeper运维之数据文件和事务日志 http://blog.youkuaiyun.com/jiyiqinlovexx/article/details/42687157
zookeeper项目使用几点小结 http://www.cnblogs.com/starhu/p/5403117.html
管理工具 node-zk-browser   zkdash   zkweb
zookeeper c api的介绍和部分坑 http://www.shengofsun.com/zookeeper/

其他接口


其他分布式协调程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值