Check if Phoenix server is correctly setup with HBase
I am using:
- Hadoop 2.7.1 in single node
- HBase 1.1.2 with HDFS, single node
- Phoenix 4.6
Everything is running with Docker, on separate containers, with Docker network (https://docs.docker.com/engine/userguide/networking/dockernetworks/).
I copied the jar:
cp /usr/local/phoenix/phoenix-4.6.0-HBase-1.1-server.jar /usr/local/hbase/lib/
Running HBase is OK.
If I am using /usr/local/phoenix/sqlline.py localhost in HBase container, is working fine. But if I am running same thing from another machine I got a timeout.
I can see HBase zookeeper is getting the connection:
hbase_1 | 2015-12-03 09:45:46,702 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxnFactory: Accepted socket connection from /192.168.1.53:50672 hbase_1 | 2015-12-03 09:45:46,702 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.ZooKeeperServer: Client attempting to establish new session at /192.168.1.53:50672 hbase_1 | 2015-12-03 09:45:46,705 INFO [SyncThread:0] server.ZooKeeperServer: Established session 0x151673a1af20017 with negotiated timeout 40000 for client /192.168.1.53:50672
It's working very fine using the Phoenix queryserver and ./sqlline-thin.py (from any machine, even from SQuirrel).
Hence my question, how can I check that Phoenix is well setup with HBase?
Or maybe it's just an issue with Zookeeper?
Was a Zookeeper / network issue.
A good way to debug this kind of issue is to query Zookeeper to get the value of key /hbase/master, using zkCli tool or Zookeeper Rest API.