phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeffrey Zhong <jzh...@hortonworks.com>
Subject Re: Connecting via SquirrelSQL
Date Tue, 10 Jun 2014 17:49:58 GMT

Phoenix 3.0 doesn't work on hbase0.96+. Below is the compatibility
matrix(http://phoenix.apache.org/download.html). In order for Phoenix work
on hbase0.96 branch, there is discussion thread on
https://issues.apache.org/jira/browse/PHOENIX-848

* Phoenix 3.x - HBase 0.94.x
* Phoenix 4.x - HBase 0.98.1+

From:  Justin Workman <justinjworkman@gmail.com>
Reply-To:  <user@phoenix.apache.org>
Date:  Monday, June 9, 2014 12:24 PM
To:  "user@phoenix.incubator.apache.org" <user@phoenix.incubator.apache.org>
Subject:  Connecting via SquirrelSQL

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.a
waitConnection(OpenConnectionCommand.java:132)
at 
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.a
ccess$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:11
45)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)
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.e
xecuteConnect(OpenConnectionCommand.java:175)
at 
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.a
ccess$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(Conn
ectionQueryServicesImpl.java:739)
at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQ
ueryServicesImpl.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.ja
va:226)
at 
org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java
:908)
at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQuerySer
vicesImpl.java:1351)
at 
org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriv
er.java:131)
at 
org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.
java:112)
at 
net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriver
Manager.java:133)
at 
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.e
xecuteConnect(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





-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.

Mime
View raw message