hadoop-mapreduce-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Prasad Mujumdar <pras...@cloudera.com>
Subject Re: hiveserver2 Thrift Interface With Perl
Date Tue, 14 May 2013 16:44:01 GMT
   HiveServer2 uses Thrift SASL transport by default. AFAIK, Thrift doesn't
support sasl transport for perl. In order to connect from a perl thrift
client, you need to turn off the SASL in HiveServer2. This can be done by
setting a property hive.server2.authentication to NOSASL in the
hive-site.xml. Note that with this change, all other clients like JDBC
applications and beeline, will also need to make non-sasl connection to
HiveServer2. The JDBC connection URL should
be jdbc:hive2://<host>:<port>/default;auth=noSasl


On Tue, May 14, 2013 at 3:35 AM, Dave Cardwell <dave@davecardwell.co.uk>wrote:

> I wrote a few reporting scripts in Perl that connected to Hive via the
> Thrift interface.
> Since we upgraded CDH to 4.2.0 and hiveserver2 was installed (with Hive
> 0.10.0) the scripts no longer ran due to the API changes.
> I regenerated the Perl modules from the .thrift files and have tried to
> translate the Java examples I’ve found online, but cannot for the life of
> me get it working with the new interface.
> The Java examples seem to use a TOpenSessionReq class but I cannot find
> this anywhere in the generated Perl modules. If I try to skip that part and
> go straight to $client->OpenSession() without an argument, the TCLIService
> module itself complains that it cannot create a TOpenSessionResp object
> because the class is not loaded.
> I have attached example code. Can anyone advise me on how to get past this
> block?
> --
> Best wishes,
> Dave Cardwell.
> http://davecardwell.co.uk/

View raw message