Support Questions
Find answers, ask questions, and share your expertise
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Apache phoenix cloudera cluster phoenix client zookeeper error

Apache phoenix cloudera cluster phoenix client zookeeper error

New Contributor



I have Phoenix installed on a 5 node Cloudera cluster with 3 zookeeper nodes on AWS. I have put the phoenix server and client jars in the hbase class path on all nodes and restarted the cluster. The phoenix command line works on the cluster and running an executable JDBC jar on the cluster returns data.


When I run the JDBC program on my local machine I get the error below. I've read here that there is an issue on AWS where internal and external IPs were get confused and zookeeper can't connect to HBase properly.


I followed the solution below and it worked but modifying the config files on the cluster breaks it. 


The problem I was having is this:


  • App successfully connects to Zookeeper on 54.x.x.x
  • Zookeeper responds OK, and returns a 172.x.x.x IP address for

connecting to HBase

  • App then uses the IP given by Zookeeper and tries to connect to

HBase on 172.x.x.x

  • App connection fails with the error below



Isolved it with the following (repeat for each server in your



  • Add aliases on local machine to



  • x.x.x box1


  • Add alias on cluster machine to */etc/hosts*
  • x.x.x box1


  • Change *hbase/conf/hbase-site.xml* on each server in cluster to

refer to everything by aliases:


  • <name>hbase.rootdir</name> <value>hdfs://box1:8020/myhb</value>


  • <name>hbase.zookeeper.quorum</name> <value>box1 </value>


(I have also changed *hadoop-2.6.0/etc/hadoop/core-site.xml* and

*hadoop-2.6.0/etc/hadoop/yarn-site.xml* to use these aliases as well, not

sure if it’s necessary but I did it for consistency).


Can anybody advise? 




org.apache.phoenix.exception.PhoenixIOException: unknown host:
at org.apache.phoenix.util.ServerUtil.parseServerException(
at org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(
at org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(
at org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(
at org.apache.phoenix.schema.MetaDataClient.createTableInternal(
at org.apache.phoenix.schema.MetaDataClient.createTable(
at org.apache.phoenix.compile.CreateTableCompiler$2.execute(
at org.apache.phoenix.jdbc.PhoenixStatement$
at org.apache.phoenix.jdbc.PhoenixStatement$
at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(
at org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(
at org.apache.phoenix.query.ConnectionQueryServicesImpl$
at org.apache.phoenix.query.ConnectionQueryServicesImpl$
at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(
at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(
at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(
at org.apache.phoenix.jdbc.PhoenixDriver.connect(
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at mysqljbdctest.PhoenixJDBC.main(


Re: Apache phoenix cloudera cluster phoenix client zookeeper error

Expert Contributor

Unknown host exception is definately DNS resolution problems, which you can hack around with further host file entries. 

Looks like your node is registering in zookeeper as  "" ?

you can confirm that by looking at the info in zookeeper with the zkcli.



Hope this helps!