public void start() throws KeeperException {
    LOG.debug("Starting " + getClass().getSimpleName());
    this.watcher.registerListener(this);
    // create base znode on remote ZK
    ZKUtil.createWithParents(clientZkWatcher, watcher.getZNodePaths().baseZNode);
    // set znodes for client ZK
    Set<String> paths = getPathsToWatch();
    LOG.debug("ZNodes to watch: {}", paths);
    // initialize queues and threads
    for (String path : paths) {
      startNewSyncThread(path);
    }
  }
Starts the syncer
@throws KeeperException if error occurs when trying to create base nodes on client ZK
hbase-server/src/main/java/org/apache/hadoop/hbase/master/zksyncer/ClientZKSyncer.java