phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mujtaba Chohan <mujt...@apache.org>
Subject Re: Connecting via SquirrelSQL
Date Tue, 10 Jun 2014 18:49:24 GMT
Last successful build 3.1-SNAPSHOT jars are at
https://builds.apache.org/job/Phoenix-3.0-hadoop1/lastSuccessfulBuild/artifact/

On Tue, Jun 10, 2014 at 11:28 AM, anil gupta <anilgupta84@gmail.com> wrote:
> Hi Justin,
>
> This ticket does not uses ticket cache. You will need to have keytab file
> and principal to login.
>
> It's a blessing in disguise that you are still using cdh4.3. Phoenix used to
> work with secure hbase prior to cdh4.5 releases. I also ran it with cdh4.4.
> However, IMO using ticket cache is like a work around because the solution
> is not guaranteed to work with all cdh releases.
> Additionally, it will be tricky to use ticket cache with Squirell.
> I am able to connect to squirrell very easily with help of Phoenix-19. So,
> it's a cleaner solution.
> I can try to provide you the phoenix-client.jar with that patch if you want.
> I am also wondering if there are any nightly builds in Phoenix. In that case
> you can directly pick up the jar from there.
>
> Thanks,
> Anil Gupta
>
> On Jun 10, 2014, at 11:06 AM, Justin Workman <justinjworkman@gmail.com>
> wrote:
>
> I saw that, and was hoping I could work around it, since I was able to
> connect to the secure cluster using sqlline.
>
> Do you know if this patch will also work with a kerberos ticket cache, or
> will we need to create keytabs for users and pass the keytab/principal in
> the connect string?
>
>
> On Mon, Jun 9, 2014 at 3:48 PM, anil gupta <anilgupta84@gmail.com> wrote:
>>
>> Hi Julian,
>>
>> Currently Phoenix-3.0 does not supports connecting to a secure HBase
>> cluster out of the box. Please have a look at
>> https://issues.apache.org/jira/browse/PHOENIX-19. This got commited in 3.0
>> branch last weekend. You can checkout 3.0 branch from
>> git(https://git-wip-us.apache.org/repos/asf?p=phoenix.git) and do a local
>> build to get the phoenix-client.jar that works with Secure HBase. Phoenix-19
>> will be part of 3.1 release. Let me know if you have further questions.
>>
>> Thanks,
>> Anil Gupta
>>
>>
>> On Mon, Jun 9, 2014 at 12:24 PM, Justin Workman <justinjworkman@gmail.com>
>> wrote:
>>>
>>> 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
>>>
>>>
>>
>>
>>
>> --
>> Thanks & Regards,
>> Anil Gupta
>
>

Mime
View raw message