What is the command you are using to invoke sqlline? Also, can you share Phoenix client logs? Do you see any logs saying "connecting to a secure cluster"? Also, regarding " ConnectionLoss for /hbase/hbaseid", have a look at http://stackoverflow.com/questions/6153560/hbase-client-connectionloss-for-hbase-error http://search-hadoop.com/m/Rx0v22KOVBY/ConnectionLoss+for+%252Fhbase%252Fhbaseid&subj=Zookeeper+issue+ConnectionLoss+for+hbase+hbaseid+
On Fri, Dec 19, 2014 at 7:21 AM, Imran Mohammed <[email protected]> wrote: > > On sqlline.py I'm getting the error below , with respect to connecting > hbase directly yes i'm able to . > > 14/12/19 09:18:54 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists > failed after 4 attempts > 14/12/19 09:18:54 ERROR zookeeper.ZooKeeperWatcher: > hconnection-0x32ee5169, quorum=10.248.16.79:2181, baseZNode=/hbase > Received unexpected KeeperException, re-throwing exception > org.apache.zookeeper.KeeperException$ConnectionLossException: > KeeperErrorCode = ConnectionLoss for /hbase/hbaseid > at > org.apache.zookeeper.KeeperException.create(KeeperException.java:99) > at > org.apache.zookeeper.KeeperException.create(KeeperException.java:51) > at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045) > at > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:199) > at > org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:479) > at > org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65) > at > org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:858) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:663) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at > org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:415) > at > org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:310) > at > org.apache.phoenix.query.HConnectionFactory$HConnectionFactoryImpl.createConnection(HConnectionFactory.java:47) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.openConnection(ConnectionQueryServicesImpl.java:254) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.access$300(ConnectionQueryServicesImpl.java:153) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1512) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1491) > at > org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1491) > at > org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:162) > at > org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:126) > at > org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:133) > at sqlline.SqlLine$DatabaseConnection.connect(SqlLine.java:4650) > at > sqlline.SqlLine$DatabaseConnection.getConnection(SqlLine.java:4701) > at sqlline.SqlLine$Commands.connect(SqlLine.java:3942) > at sqlline.SqlLine$Commands.connect(SqlLine.java:3851) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > sqlline.SqlLine$ReflectiveCommandHandler.execute(SqlLine.java:2810) > at sqlline.SqlLine.dispatch(SqlLine.java:817) > at sqlline.SqlLine.initArgs(SqlLine.java:633) > at sqlline.SqlLine.begin(SqlLine.java:680) > at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441) > at sqlline.SqlLine.main(SqlLine.java:424) > > > On Thu, Dec 18, 2014 at 5:43 PM, anil gupta <[email protected]> wrote: >> >> Hi Imran, >> >> Since 4.1 release, connecting to a secure HBase cluster is supported by >> Phoenix. Can you try using sqlline and invoke it by command: sqlline.py >> jdbc:phoenix:<quorom>:<port>:<rootNode>:<principal>:<keytab> >> Please report back the outcome. Also, are you able to connect to hbase >> from the node without using Phoenix? Maybe, there is a firewall or kerberos >> client is not setup. >> >> Thanks, >> Anil Gupta >> >> On Thu, Dec 18, 2014 at 2:45 PM, Alex Kamil <[email protected]> wrote: >>> >>> Imran, Are you able to connect with sqlline following these instructions >>> http://bigdatanoob.blogspot.com/2013/09/connect-phoenix-to-secure-hbase-cluster.html >>> ? >>> also see previous threads >>> <https://www.google.com/webhp?sourceid=chrome-instant&rlz=1CAASUA_enUS609US609&ion=1&espv=2&ie=UTF-8&safe=active&ssui=on#q=apache%2Bhbase%2Bphoenix%2Bsecure%2Bkerberos+&safe=active&ssui=on> >>> for debugging tips >>> >>> >>> On Thu, Dec 18, 2014 at 11:37 AM, Imran Mohammed <[email protected] >>> > wrote: >>>> >>>> Hey, >>>> >>>> >>>> >>>> I'm using Phoenix 4.XX on CDH5 Hbase 0.98 cluster. >>>> >>>> >>>> >>>> On our sandbox environment which is a non-secure cluster , I'm able to >>>> connect through squirrel without any problem. >>>> >>>> >>>> >>>> But on our production environment which is a secure cluster it’s not >>>> working. I'm providing keytab and principal as part of my JDBC url but no >>>> luck. >>>> >>>> >>>> >>>> Can someone help with some guideance on this. >>>> >>>> >>>> >>>> Please find the stack trace below >>>> >>>> >>>> >>>> >>>> >>>> java.util.concurrent.TimeoutException >>>> >>>> at >>>> java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:258) >>>> >>>> at java.util.concurrent.FutureTask.get(FutureTask.java:119) >>>> >>>> at >>>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132) >>>> >>>> at >>>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45) >>>> >>>> at >>>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115) >>>> >>>> at >>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>>> >>>> at >>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>> >>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>> >>>> at >>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) >>>> >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) >>>> >>>> at java.lang.Thread.run(Thread.java:722) >>>> >>>> >>>> >>>> Regards, >>>> >>>> Imran A Mohammed. >>>> >>>> >>>> >>> >> >> -- >> Thanks & Regards, >> Anil Gupta >> > -- Thanks & Regards, Anil Gupta
