# ZooKeeper

# Introduction

This extension uses libzookeeper library to provide API for communicating with ZooKeeper service.

ZooKeeper is an Apache project that enables centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

- Installing/Configuring
  - Requirements
  - Installation
  - Runtime Configuration
- ZooKeeper Functions
  - zookeeper_dispatch — Calls callbacks for pending operations
- Zookeeper — The Zookeeper class
  - Zookeeper::addAuth — Specify application credentials
  - Zookeeper::close — Close the zookeeper handle and free up any resources
  - Zookeeper::connect — Create a handle to used communicate with zookeeper
  - Zookeeper::__construct — Create a handle to used communicate with zookeeper
  - Zookeeper::create — Create a node synchronously
  - Zookeeper::delete — Delete a node in zookeeper synchronously
  - Zookeeper::exists — Checks the existence of a node in zookeeper synchronously
  - Zookeeper::get — Gets the data associated with a node synchronously
  - Zookeeper::getAcl — Gets the acl associated with a node synchronously
  - Zookeeper::getChildren — Lists the children of a node synchronously
  - Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  - Zookeeper::getConfig — Get instance of ZookeeperConfig
  - Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
  - Zookeeper::getState — Get the state of the zookeeper connection
  - Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered
  - Zookeeper::set — Sets the data associated with a node
  - Zookeeper::setAcl — Sets the acl associated with a node synchronously
  - Zookeeper::setDebugLevel — Sets the debugging level for the library
  - Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization
  - Zookeeper::setLogStream — Sets the stream to be used by the library for logging
  - Zookeeper::setWatcher — Set a watcher function
- ZookeeperConfig — The ZookeeperConfig class
  - ZookeeperConfig::add — Add servers to the ensemble
  - ZookeeperConfig::get — Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  - ZookeeperConfig::remove — Remove servers from the ensemble
  - ZookeeperConfig::set — Change ZK cluster ensemble membership and roles of ensemble peers
- ZookeeperException — The ZookeeperException class
- ZookeeperAuthenticationException — The ZookeeperAuthenticationException class
- ZookeeperConnectionException — The ZookeeperConnectionException class
- ZookeeperMarshallingException — The ZookeeperMarshallingException class
- ZookeeperNoNodeException — The ZookeeperNoNodeException class
- ZookeeperOperationTimeoutException — The ZookeeperOperationTimeoutException class
- ZookeeperSessionException — The ZookeeperSessionException class

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open