phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anil Gupta (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-19) Enhance JDBC connection of Phoenix to support connecting to a Secure HBase cluster.
Date Tue, 04 Mar 2014 00:55:22 GMT


Anil Gupta commented on PHOENIX-19:

[~jamestaylor]: Please find attached the Initial patch. 
Problem 1:
In eclipse, i ran through the code(using SecureClusterConnectTest class) to connect Phoenix
to HBase and it successfully connects to the cluster. However, after connecting i get ClassNotFoundException
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.ipc.SecureRpcEngine
	at org.apache.hadoop.conf.Configuration.getClass(
	at org.apache.hadoop.hbase.ipc.HBaseRPC.getProtocolEngine(
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(
	at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(
	at com.salesforce.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(
	at com.salesforce.phoenix.query.ConnectionQueryServicesImpl.createTable(
	at com.salesforce.phoenix.schema.MetaDataClient.createTableInternal(
	at com.salesforce.phoenix.schema.MetaDataClient.createTable(
	at com.salesforce.phoenix.compile.CreateTableCompiler$2.execute(
	at com.salesforce.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.executeUpdate(
	at com.salesforce.phoenix.jdbc.PhoenixStatement.executeUpdate(
	at com.salesforce.phoenix.query.ConnectionQueryServicesImpl.init(
	at com.salesforce.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(
	at com.salesforce.phoenix.jdbc.PhoenixEmbeddedDriver.connect(
	at phoenix.test.SecureClusterConnectTest.main(
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.ipc.SecureRpcEngine
	at Method)
	at java.lang.ClassLoader.loadClass(
	at sun.misc.Launcher$AppClassLoader.loadClass(
	at java.lang.ClassLoader.loadClass(
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(
	at org.apache.hadoop.conf.Configuration.getClassByName(
	at org.apache.hadoop.conf.Configuration.getClass(
	... 15 more

Phoenix is referring to hbase-0.94.12 jar. To my surprise, org.apache.hadoop.hbase.ipc.SecureRpcEngine
class is not present in that version. I am running my cluster on cdh4.5.0. and cdh4.5.0 hbase
jar has that class.

Problem 2:
After compiling phoenix with patch, i tried to run phoenix using script on non
secure cluster by using command: jdbc:phoenix:<zk>
I get this error:
sqlline version 1.1.2

I have enabled debug logs but still i dont get any logs when i invoke phoenix on console.
Could you please review the code and tell me how to resolve the above two problems. Thanks.

> Enhance JDBC connection of Phoenix to support connecting to a Secure HBase cluster.
> -----------------------------------------------------------------------------------
>                 Key: PHOENIX-19
>                 URL:
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 3.0.0
>            Reporter: Anil Gupta
>              Labels: hbase, jdbc, secure
>             Fix For: 3.0.0
>         Attachments: phoenix-19.patch
> This is being moved from github to
> As per my discussion with James Taylor over here!searchin/phoenix-hbase-user/secure$20cluster/phoenix-hbase-user/XHg2wXK4Hqo/qVTm92WLxUkJ
> and some other email exchanges. This ticket is to enhance the JDBC driver of phoenix
so that user can pass keytab and principal to connect to a secure cluster.
> As per our discussion over email, could you please outline the changes required to make
this enhancement?

This message was sent by Atlassian JIRA

View raw message