# zookeeper-cluster-client **Repository Path**: mirrors_node-modules/zookeeper-cluster-client ## Basic Information - **Project Name**: zookeeper-cluster-client - **Description**: Sharing one zookeeper connection among Multi-Process on Node.js - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-19 - **Last Updated**: 2025-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zookeeper-cluster-client [![NPM version][npm-image]][npm-url] [![Node.js CI](https://github.com/node-modules/zookeeper-cluster-client/actions/workflows/nodejs.yml/badge.svg)](https://github.com/node-modules/zookeeper-cluster-client/actions/workflows/nodejs.yml) [![Test coverage][codecov-image]][codecov-url] [![Known Vulnerabilities][snyk-image]][snyk-url] [![NPM download][download-image]][download-url] [npm-image]: https://img.shields.io/npm/v/zookeeper-cluster-client.svg?style=flat-square [npm-url]: https://npmjs.org/package/zookeeper-cluster-client [codecov-image]: https://codecov.io/gh/node-modules/zookeeper-cluster-client/branch/master/graph/badge.svg [codecov-url]: https://codecov.io/gh/node-modules/zookeeper-cluster-client [snyk-image]: https://snyk.io/test/npm/zookeeper-cluster-client/badge.svg?style=flat-square [snyk-url]: https://snyk.io/test/npm/zookeeper-cluster-client [download-image]: https://img.shields.io/npm/dm/zookeeper-cluster-client.svg?style=flat-square [download-url]: https://npmjs.org/package/zookeeper-cluster-client Support [cluster-client](https://www.npmjs.com/package/cluster-client) process model on [node-zookeeper-client](https://www.npmjs.com/package/node-zookeeper-client). ## Install ```bash npm i zookeeper-cluster-client --save ``` ## Usage 1\. Create a node using given path: ```js const zookeeper = require('zookeeper-cluster-client'); const client = zookeeper.createClient('localhost:2181'); const path = process.argv[2]; client.once('connected', async function() { await client.create(path); console.log('Node: %s is successfully created.', path); await client.close(); }); client.connect(); ``` 2\. List and watch the children of given node: ```js const zookeeper = require('zookeeper-cluster-client'); const client = zookeeper.createClient('localhost:2181'); const path = process.argv[2]; async function listChildren(client, path) { const children = await client.getChildren( path, event => { console.log('Got watcher event: %s', event); listChildren(client, path); }); console.log('Children of %s are: %j.', path, children); } client.once('connected', () => { console.log('Connected to ZooKeeper.'); listChildren(client, path); }); client.connect(); ``` ## Support APIs - [x] `createClient(connectionString, [options])` - [x] `connect()` - [x] `close()`: return promise - [x] `async create(path, [data], [acls], [mode])` - [x] `async remove(path, [version])` - [x] `async setData(path, data, [version])` - [x] `async getACL(path, [options])` - [x] `async setACL(path, acls, [version])` - [x] `async mkdirp(path, [data], [acls], [mode])` - [x] `async exists(path, [watcher])` - [x] `async getChildren(path, [watcher], [options])` - [x] `async getData(path, [watcher], [options])` - [ ] `addAuthInfo(scheme, auth)` - [x] `State getState()` - [x] `Buffer getSessionId()` - [x] `Buffer getSessionPassword()` - [x] `Number getSessionTimeout()` - [ ] `transaction()` ### Extends APIs Provides some useful APIs beyond node-zookeeper-client. - [x] `watch(path, listener)` ```js client.watch('/foo', (err, data, stat) => { if (err) { // handle error return; } console.log('data => %s', data.toString()); console.log('stat => %s', stat); }); ``` - [x] `watchChildren(path, listener)` ```js client.watchChildren('/foo', (err, children, stat) => { if (err) { // handle error return; } console.log('children => %j', children); console.log('stat => %s', stat); }); ``` ## License [MIT](LICENSE.txt) ## Contributors [![](https://ergatejs.implements.io/badges/contributors/node-modules/zookeeper-cluster-client.svg?size=96)](https://github.com/node-modules/zookeeper-cluster-client/graphs/contributors)