phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Workman <justinjwork...@gmail.com>
Subject Connecting via SquirrelSQL
Date Mon, 09 Jun 2014 19:24:04 GMT
I am attempting to connect to Phoenix via SquirrelSQL and not having much
luck. I am using Phoenix-3.0 on Hbase with CDH4.3.0 (Hbase
0.96.4-cdh4.3.0), and SquirrelSQL 3.5.3. Our Hbase environment is protected
with Kerberos.

I have modified the sqlline script to include the correct libraries and
modifications to the Java command, and that is working fine.

Here is what I am doing to try and get SquirrelSQL working. I have tried on
both a Mac and Linux system.

I start up off kinit'ing prior to starting SquirrelSQL.

1) Copy hbase-site.xml and core-site.xml to lib directory of SquirrelSQL
2) Open SquirrelSQL->Drivers->Add New
3) I add phoenix-3.0.0-incubating-client-minimal.jar, all of its
dependancies, hadoop-common, hadoop-auth and the hbase-security jar from
CDH distribution to the extra class path
4) List Drivers and select the Phoenix driver.

Adding the driver at this point succeeds without error. I then proceed to
setup the connection and click test, it will hang for a minute and then
gives me the following stack trace.

java.util.concurrent.ExecutionException: java.lang.RuntimeException:
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class
org.apache.hadoop.hbase.ipc.SecureRpcEngine not found
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:202)
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.run(FutureTask.java:262)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.ClassNotFoundException: Class
org.apache.hadoop.hbase.ipc.SecureRpcEngine not found
at
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:175)
at
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45)
at
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104)
... 5 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException:
Class org.apache.hadoop.hbase.ipc.SecureRpcEngine not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1587)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProtocolEngine(HBaseRPC.java:99)
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:629)
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:684)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:126)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:739)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1021)
at
org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1156)
at
org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:422)
at
org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:183)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:226)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:908)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1351)
at
org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:131)
at
org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:112)
at
net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133)
at
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167)
... 7 more
Caused by: java.lang.ClassNotFoundException: Class
org.apache.hadoop.hbase.ipc.SecureRpcEngine not found
at
org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1493)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1585)
... 23 more

FYI, I have also tried to include the hadoop, hbase and phoenix jar's in
the lib directory of SquirrelSQL itself, however when adding the driver and
selecting List Drivers SquirrelSQL just hangs forever.


Any help or insight would be greatly appreciated. The one thing I am not
sure about is the Kerberos integration, and wether or not I will need to
wait or include PHOENIX-19. However this patch appears to be for passing
the principal and keytab to the driver, not using a ticket cache. I also
don't think that is my problem right now, as it does not appear to be
getting far enough to authenticate at this point.

Thanks
Justin

Mime
View raw message