protected void ensurePersistentNodePath(ServiceRecord srv) throws IOException {
    String pNodePath = getPersistentNodePath();
    try {
      LOG.info("Check if persistent node  path {}  exists, create if not", pNodePath);
      if (zooKeeperClient.checkExists().forPath(pNodePath) == null) {
        zooKeeperClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT)
            .forPath(pNodePath, encoder.toBytes(srv));
        LOG.info("Created persistent path at: {}", pNodePath);
      }
    } catch (Exception e) {
      // throw exception if it is other than NODEEXISTS.
      if (!(e instanceof KeeperException) || ((KeeperException) e).code() != KeeperException.Code.NODEEXISTS) {
        LOG.error("Unable to create a persistent znode for this server instance", e);
        throw new IOException(e);
      } else {
        LOG.debug("Ignoring KeeperException while ensuring path as the parent node {} already exists.", pNodePath);
      }
    }
  }
Get the ensemble server addresses from the configuration. The format is: host1:port,
host2:port..

@param conf configuration
llap-client/src/java/org/apache/hadoop/hive/registry/impl/ZkRegistryBase.java