@Override
  public synchronized void init(HiveConf conf) {
    this.conf = conf;
    zkNameSpace = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_ZOOKEEPER_KILLQUERY_NAMESPACE);
    Preconditions.checkArgument(!StringUtils.isBlank(zkNameSpace),
        HiveConf.ConfVars.HIVE_ZOOKEEPER_KILLQUERY_NAMESPACE.varname + " cannot be null or empty");
    this.zkPrincipal = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_SERVER2_KERBEROS_PRINCIPAL);
    this.zkKeytab = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_SERVER2_KERBEROS_KEYTAB);
    this.zooKeeperClient = conf.getZKConfig().getNewZookeeperClient(getACLProviderForZKPath("/" + zkNameSpace));
    this.zooKeeperClient.getConnectionStateListenable().addListener(new ZkConnectionStateListener());

    super.init(conf);
  }
Kill query coordination service.
When service discovery is enabled a local kill query can request a kill
on every other HS2 server with the queryId or queryTag and wait for confirmation on denial.
The communication is done through Zookeeper.
service/src/java/org/apache/hive/service/server/KillQueryZookeeperManager.java