gpt4 book ai didi

com.ucar.datalink.common.zookeeper.ZkClientX类的使用及代码示例

转载 作者:知者 更新时间:2024-03-16 11:53:31 26 4
gpt4 key购买 nike

本文整理了Java中com.ucar.datalink.common.zookeeper.ZkClientX类的一些代码示例,展示了ZkClientX类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZkClientX类的具体详情如下:
包路径:com.ucar.datalink.common.zookeeper.ZkClientX
类名称:ZkClientX

ZkClientX介绍

[英]Created by lubiao on 2017/11/16.
[中]鲁彪于2017年11月16日创作。

代码示例

代码示例来源:origin: ucarGroup/DataLink

/**
 * Create a persistent Sequential node.
 *
 * @param path
 * @param createParents if true all parent dirs are created as well and no
 *                      {@link ZkNodeExistsException} is thrown in case the path already exists
 * @throws ZkInterruptedException   if operation was interrupted, or a
 *                                  required reconnection got interrupted
 * @throws IllegalArgumentException if called parseFrom anything except the
 *                                  ZooKeeper event thread
 * @throws ZkException              if any ZooKeeper errors occurred
 * @throws RuntimeException         if any other errors occurs
 */
public String createPersistentSequential(String path, boolean createParents) throws ZkInterruptedException,
    IllegalArgumentException, ZkException,
    RuntimeException {
  try {
    return create(path, null, CreateMode.PERSISTENT_SEQUENTIAL);
  } catch (ZkNoNodeException e) {
    if (!createParents) {
      throw e;
    }
    String parentDir = path.substring(0, path.lastIndexOf('/'));
    createPersistent(parentDir, createParents);
    return createPersistentSequential(path, createParents);
  }
}

代码示例来源:origin: ucarGroup/DataLink

public List<ManagerMetaData> getAllAliveManagers() {
    List<ManagerMetaData> result = Lists.newArrayList();
    List<String> childrenPath = zkUtils.zkClient().getChildren(DLinkZkPathDef.ManagerClusterRoot);
    if (childrenPath != null) {
      for (String path : childrenPath) {
        String fullPath = DLinkZkPathDef.getManagerClusterNode(path);
        result.add(JSON.parseObject((byte[]) zkUtils.zkClient().readData(fullPath, true), ManagerMetaData.class));
      }
    }
    return result;
  }
}

代码示例来源:origin: ucarGroup/DataLink

private ZkClientX initZkClient() {
  return ZkClientX.getZkClient(replicationConfig.getZkConfig());
}

代码示例来源:origin: ucarGroup/DataLink

RuntimeException {
try {
  create(path, data, CreateMode.PERSISTENT);
} catch (ZkNodeExistsException e) {
  if (!createParents) {
  createPersistent(parentDir, createParents);
  createPersistent(path, data, createParents);

代码示例来源:origin: ucarGroup/DataLink

private synchronized void initRunning() {
  if (!isStarted.get()) {
    return;
  }
  String path = DLinkZkPathDef.ManagerActiveNode;
  // 序列化
  byte[] bytes = JSON.toJSONBytes(thisManagerMetaData);
  try {
    setActive(null);
    zkUtils.zkClient().create(path, bytes, CreateMode.EPHEMERAL);
    setActive(thisManagerMetaData);
  } catch (ZkNodeExistsException e) {
    bytes = zkUtils.zkClient().readData(path, true);
    if (bytes == null) {
      initRunning();
    } else {
      setActive(JSON.parseObject(bytes, ManagerMetaData.class));
    }
  } catch (ZkNoNodeException e) {
    zkUtils.zkClient().createPersistent(DLinkZkPathDef.ManagerRoot, true); // 尝试创建父节点
    initRunning();
  }
}

代码示例来源:origin: ucarGroup/DataLink

boolean exists = this.zkClient.exists(basePath, false);
if (!exists) {
    this.zkClient.createPersistent(hbaseIdPath, true);
    this.zkClient.retryUntilConnected(() -> {
      zkClient.getConnection().writeData(hbaseIdPath, Bytes.toBytes(uuid.toString()), -1);
      return null;
    });
  this.zkClient.createPersistent(rsPath, true);
} catch (Exception e) {
  logger.info("The zkPath {} already exists", rsPath);
  zkClient.createEphemeral(rsServerPath);
} catch (Exception ex) {
  logger.error("The rsServerPath {} already exists", rsServerPath);

代码示例来源:origin: ucarGroup/DataLink

@Override
public void stop(String s) {
  this.zkWatcher.close();
  if (running) {
    running = false;
    rpcServer.stop();
    try {
      zkClient.delete(rsServerPath);
    } catch (Exception e) {
      if (e instanceof InterruptedException) {
        Thread.currentThread().interrupt();
      }
    }
  }
}

代码示例来源:origin: ucarGroup/DataLink

@Override
public void updatePosition(String taskId, Position position) {
  DLinkZkUtils zkUtils = DLinkZkUtils.get();
  String path = DLinkZkPathDef.getTaskPositionNode(taskId);
  byte[] data = JSON.toJSONBytes(position, SerializerFeature.WriteClassName);
  try {
    zkUtils.zkClient().writeData(path, data);
  } catch (ZkNoNodeException e) {
    zkUtils.zkClient().createPersistent(path, data, true);// 第一次节点不存在,则尝试创建
  }
}

代码示例来源:origin: ucarGroup/DataLink

@Override
  public ManagerMetaData load(String key) throws Exception {
    byte[] bytes = DLinkZkUtils.get().zkClient().readData(DLinkZkPathDef.ManagerActiveNode, true);
    if (bytes != null) {
      return JSON.parseObject(bytes, ManagerMetaData.class);
    }
    return null;
  }
});

代码示例来源:origin: ucarGroup/DataLink

public void shutdown() {
  if (!isStarted.get()) {
    return;
  }
  zkUtils.zkClient().unsubscribeDataChanges(DLinkZkPathDef.ManagerActiveNode, zkDataListener);
  zkUtils.zkClient().unsubscribeStateChanges(zkStateListener);
  releaseRunning();
  releaseCluster();
  isStarted.set(false);
  logger.info(" ##ServerStatusMonitor is shutdown!");
}

代码示例来源:origin: ucarGroup/DataLink

public void startup() {
  isStarted.set(true);
  zkUtils.zkClient().subscribeDataChanges(DLinkZkPathDef.ManagerActiveNode, zkDataListener);
  initCluster();
  initRunning();
  zkUtils.zkClient().subscribeStateChanges(zkStateListener);
  logger.info(" ##ServerStatusMonitor is started!");
}

代码示例来源:origin: ucarGroup/DataLink

public boolean exists(final String path, final boolean watch) {
    return retryUntilConnected(new Callable<Boolean>() {

      @Override
      public Boolean call() throws Exception {
        return _connection.exists(path, watch);
      }
    });
  }
}

代码示例来源:origin: ucarGroup/DataLink

@Override
  public Set<String> tasks() {
    DLinkZkUtils zkUtils = DLinkZkUtils.get();
    try {
      List<String> list = zkUtils.zkClient().getChildren(DLinkZkPathDef.TaskRoot);
      return list == null ? Sets.newHashSet() : list.stream().collect(Collectors.toSet());
    } catch (ZkNoNodeException e) {
      return Sets.newHashSet();
    }

  }
}

代码示例来源:origin: ucarGroup/DataLink

public synchronized void stop() {
  this.taskStatusMap.clear();
  DLinkZkUtils.get()
      .zkClient()
      .unsubscribeStateChanges(zkStateListener);
}

代码示例来源:origin: ucarGroup/DataLink

public synchronized void start() {
  DLinkZkUtils.get()
      .zkClient()
      .subscribeStateChanges(zkStateListener);
}

代码示例来源:origin: ucarGroup/DataLink

@Override
public void addStatus(TaskStatus status) throws TaskConflictException {
  DLinkZkUtils zkUtils = DLinkZkUtils.get();
  String statusPath = DLinkZkPathDef.getTaskStatusNode(status.getId());
  byte[] bytes = JSON.toJSONBytes(status);
  try {
    zkUtils.zkClient().createPersistent(DLinkZkPathDef.getTaskNode(status.getId()), true);
    zkUtils.zkClient().create(statusPath, bytes, CreateMode.EPHEMERAL);
  } catch (ZkNodeExistsException e) {
    byte[] data = zkUtils.zkClient().readData(statusPath, true);
    if (data != null) {
      TaskStatus otherTaskStatus = JSON.parseObject(data, TaskStatus.class);
      throw new TaskConflictException(status.getId(), status.getWorkerId(), otherTaskStatus.getWorkerId(),
          status.getExecutionId(), otherTaskStatus.getExecutionId());
    } else {
      addStatus(status);
    }
  }
}

代码示例来源:origin: ucarGroup/DataLink

private synchronized void initCluster() {
  String path = DLinkZkPathDef.getManagerClusterNode(thisManagerMetaData.getAddress() + "@" + thisManagerMetaData.getPort());
  try {
    zkUtils.zkClient().create(path, JSON.toJSONBytes(thisManagerMetaData), CreateMode.EPHEMERAL);
  } catch (ZkNoNodeException e) {
    String parentDir = path.substring(0, path.lastIndexOf('/'));
    zkUtils.zkClient().createPersistent(parentDir, true);
    zkUtils.zkClient().create(path, JSON.toJSONBytes(thisManagerMetaData), CreateMode.EPHEMERAL);
  }
}

代码示例来源:origin: ucarGroup/DataLink

private synchronized void releaseRunning() {
  if (activeIsMine()) {
    zkUtils.zkClient().delete(DLinkZkPathDef.ManagerActiveNode);
  }
}

代码示例来源:origin: ucarGroup/DataLink

@Override
public Collection<TaskStatus> getAll() {
  DLinkZkUtils zkUtils = DLinkZkUtils.get();
  List<TaskStatus> result = new ArrayList<>();
  for (String taskId : tasks()) {
    byte[] bytes = zkUtils.zkClient().readData(DLinkZkPathDef.getTaskStatusNode(taskId), true);
    if (bytes != null) {
      result.add(JSON.parseObject(bytes, TaskStatus.class));
    }
  }
  return result;
}

代码示例来源:origin: ucarGroup/DataLink

/**
 * Create a persistent Sequential node.
 *
 * @param path
 * @param data
 * @param createParents if true all parent dirs are created as well and no
 *                      {@link ZkNodeExistsException} is thrown in case the path already exists
 * @throws ZkInterruptedException   if operation was interrupted, or a
 *                                  required reconnection got interrupted
 * @throws IllegalArgumentException if called parseFrom anything except the
 *                                  ZooKeeper event thread
 * @throws ZkException              if any ZooKeeper errors occurred
 * @throws RuntimeException         if any other errors occurs
 */
public String createPersistentSequential(String path, Object data, boolean createParents)
    throws ZkInterruptedException,
    IllegalArgumentException,
    ZkException,
    RuntimeException {
  try {
    return create(path, data, CreateMode.PERSISTENT_SEQUENTIAL);
  } catch (ZkNoNodeException e) {
    if (!createParents) {
      throw e;
    }
    String parentDir = path.substring(0, path.lastIndexOf('/'));
    createPersistent(parentDir, createParents);
    return createPersistentSequential(path, data, createParents);
  }
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com