zookeeper-cluster-client

3.1.1 • Public • Published

zookeeper-cluster-client

NPM version build status Test coverage David deps Known Vulnerabilities NPM download

Support cluster-client process model on node-zookeeper-client.

Install

npm i zookeeper-cluster-client --save

Usage

1. Create a node using given path:

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:

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)

    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)

    client.watchChildren('/foo', (err, children, stat) => {
      if (err) {
        // handle error
        return;
      }
      console.log('children => %j', children);
      console.log('stat => %s', stat);
    });

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i zookeeper-cluster-client

Weekly Downloads

191

Version

3.1.1

License

MIT

Unpacked Size

25.9 kB

Total Files

8

Last publish

Collaborators

  • gxcsoccer
  • fengmk2