private static void applyClusterKeyToConf(Configuration conf, String key) throws IOException {
    ZKConfig.ZKClusterKey zkClusterKey = ZKConfig.transformClusterKey(key);
    conf.set(HConstants.ZOOKEEPER_QUORUM, zkClusterKey.getQuorumString());
    conf.setInt(HConstants.ZOOKEEPER_CLIENT_PORT, zkClusterKey.getClientPort());
    conf.set(HConstants.ZOOKEEPER_ZNODE_PARENT, zkClusterKey.getZnodeParent());
    // Without the right registry, the above configs are useless. Also, we don't use setClass()
    // here because the ConnectionRegistry* classes are not resolvable from this module.
    // This will be broken if ZkConnectionRegistry class gets renamed or moved. Is there a better
    // way?
    LOG.info("Overriding client registry implementation to {}",
      HConstants.ZK_CONNECTION_REGISTRY_CLASS);
    conf.set(HConstants.CLIENT_CONNECTION_REGISTRY_IMPL_CONF_KEY,
      HConstants.ZK_CONNECTION_REGISTRY_CLASS);
  }
Apply the settings in the given key to the given configuration, this is used to communicate
with distant clusters
@param conf configuration object to configure
@param key  string that contains the 3 required configuratins
hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java