How to use node-zookeeper-client - 10 common examples

To help you get started, we’ve selected a few node-zookeeper-client examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github scality / backbeat / lib / clients / zookeeper.js View on Github external
function createClient(connectionString, options) {
    const zkClient = zookeeper.createClient(connectionString, options);
    zkClient.once('connected', () => {
        // for some reason zkClient.exists() does not return
        // NO_NODE when base path does not exist, hence use
        // getData() instead
        zkClient.getData('/', err => {
            if (err && err.name !== 'NO_NODE') {
                return zkClient.emit('error', err);
            }
            // NO_NODE error and autoCreateNamespace is enabled
            if (err && options && options.autoCreateNamespace) {
                const nsIndex = connectionString.indexOf('/');
                const hostPort = connectionString.slice(0, nsIndex);
                const namespace = connectionString.slice(nsIndex);
                const rootZkClient = zookeeper.createClient(hostPort, options);
                rootZkClient.connect();
                return rootZkClient.mkdirp(namespace, err => {
github MZMonster / node-thrift-service / lib / zookeeper.js View on Github external
this._zk.create(path, new Buffer(data), mode, (error, path) => {

        if (error) {

          if (error.getCode() === zookeeper.Exception.NODE_EXISTS ||
            error.getCode() === zookeeper.Exception.OK) {
            this.emit(utils.EVENT.DEBUG, 'Create or Exist path: ' + (path || this._root));
          } else {
            // other error
            return reject(error);
          }
        }

        return resolve(true);
      });
    });
github MZMonster / node-thrift-service / lib / zookeeper.js View on Github external
this._zk.create(path, new Buffer(data), mode, (error, path) => {

        if (error) {

          if (error.getCode() === zookeeper.Exception.NODE_EXISTS ||
            error.getCode() === zookeeper.Exception.OK) {
            this.emit(utils.EVENT.DEBUG, 'Create or Exist path: ' + (path || this._root));
          } else {
            // other error
            return reject(error);
          }
        }

        return resolve(true);
      });
    });
github xpush / node-xpush / lib / node-manager / node-manager.js View on Github external
function (error, children, stat) {
      if (error) {

        console.warn('Failed to list children due to: %s.', error);
        if (error.getCode() == zookeeper.Exception.CONNECTION_LOSS) { // TODO 나중에 좀더 확인이 필요함!
          self.zkClient.close();
          self._connect(self.isWatching, function (err) {
            if (err) console.error(err);
          })
        }

      } else {

        var max = children.length;

        var nodeTask = function (taskId, value, callback) {

          self._getServerNode(children[taskId], function () {
            taskId++
            if (taskId < max) {
              function_array.splice(function_array.length - 1, 0, nodeTask);
github NetEase / pomelo / lib / monitors / zookeepermonitor.js View on Github external
}, (next) => { // fn
    count++;
    logger.debug('%s server is try to connect to zookeeper',
                 mon.app.serverId);
    mon.client.close();
    mon.client = zookeeper.createClient(mon.servers, {
      sessionTimeout: mon.timeout,
      retries: 0,
      spinDelay: mon.spinDelay
    });

    mon.cbTimer = setTimeout(() => {
      logger.info('reconnect to zookeeper timeout');
      mon.state = ZK_CONNECT_FAIL;
      utils.invokeCallback(next);
    }, constants.TIME.DEFAULT_ZK_CONNECT_TIMEOUT);

    mon.client.once('connected', () => {
      logger.info('%s connect zookeeper successfully.', mon.app.serverId);

      mon.state = ZK_CONNECTED;
      mon.client.addAuthInfo('digest', new Buffer(mon.authentication));
github XadillaX / illyria2 / lib / illyria-zk.js View on Github external
this.connectingString = connectingString;
    this.options = options;
    this.root = root || "/illyria";
    this.prefix = prefix || "/t";
    this.path = null;

    this.root = this.root.trim();
    this.prefix = this.prefix.trim();

    if(!this.root.length) this.root = "/illyria";
    if(this.root[0] !== "/") this.root = "/" + this.root;
    if(!this.prefix.length) this.prefix = "/t";
    if(this.prefix[0] !== "/") this.prefix = "/" + this.prefix;

    // zookeeper core object
    this.client = zookeeper.createClient(this.connectingString, options);
    this.server = {
        host: "127.0.0.1",
        port: 3721,

        clients: 0
    };

    this.clientStatus = ZK_STATUS.NOT_CONNECTED;
};
github hyperledger-archives / caliper / src / comm / client / zoo-client.js View on Github external
.then((found)=>{
        if(found) {
            return Promise.resolve();
        }
        else {
            return zkUtil.createP(zk, zkUtil.NODE_CLIENT, null, ZooKeeper.CreateMode.PERSISTENT, 'Failed to create clients node due to');
        }
    })
    .then(()=>{         // create client node
github apache / dubbo-js / packages / dubbo / src / registry / zookeeper.ts View on Github external
private async _createRootConsumer(consumer: string) {
    let {res, err} = await go(this._exists(consumer));
    //check error
    if (err) {
      return err;
    }

    // current consumer root path was existed.
    if (res) {
      return null;
    }

    //create current consumer path
    ({err} = await go(this._create(consumer, zookeeper.CreateMode.PERSISTENT)));
    if (err) {
      return err;
    }

    log('create root comsumer %s successfull', consumer);
  }
github MZMonster / node-thrift-service / lib / zookeeper.js View on Github external
* manage zookeeper client
 *
 * @author zzxun 
 */
'use strict';

/**
 * module dependencies
 */
const _ = require('lodash');
const zookeeper = require('node-zookeeper-client');
const Promises = require('bluebird');
const EventEmitter = require('events').EventEmitter;
const utils = require('./util');

const CreateMode = zookeeper.CreateMode;

class ZookeeperService extends EventEmitter {

  constructor(options) {
    super();

    let self = this;

    self._root = options.root;
    // initial
    options = _.merge({
      connect       : '127.0.0.1:2181',
      sessionTimeout: 200000
    }, options);

    self._zk = zookeeper.createClient(options.connect, options);
github XadillaX / illyria2 / lib / illyria-zk.js View on Github external
this.client.on("state", function(state) {
        // automatically reconnect
        if(self.clientStatus !== ZK_STATUS.NOT_CONNECTED &&
            state === zookeeper.State.EXPIRED) {
            setTimeout(self.connect, 1, callback, -1);
        }
    });