Support Questions

Find answers, ask questions, and share your expertise

Hive client session opening problem with CDH configured to authenticate using Kerberos and Sentry

avatar
Explorer

I have configured my CDH to use Kerberos to authenticate, and use sentry to do table level authentication. Impala seem connecting fine using ODBC sample DSN. But when I was trying to connect to hive. I got following message in my hiveserver2 log. Does anyone know what's going on here? Not much I can google out.

 

2014-07-28 13:35:17,355 INFO org.apache.hive.service.cli.thrift.ThriftCLIService: ThriftBinaryCLIService listening on 0.0.0.0/0.0.0.0:10000
2014-07-28 13:35:32,556 INFO org.apache.hive.service.cli.thrift.ThriftCLIService: Client protocol version: HIVE_CLI_SERVICE_PROTOCOL_V1
2014-07-28 13:35:32,846 WARN org.apache.hadoop.hive.conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.
2014-07-28 13:35:33,288 WARN org.apache.hadoop.hive.conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.
2014-07-28 13:35:33,304 ERROR org.apache.thrift.ProcessFunction: Internal error processing OpenSession
java.lang.NoSuchFieldError: HIVE_SERVER2_AUTHZ_EXTERNAL_EXEC
at org.apache.sentry.binding.hive.HiveAuthzBindingSessionHook.<clinit>(HiveAuthzBindingSessionHook.java:35)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.hive.ql.hooks.HookUtils.getHooks(HookUtils.java:59)
at org.apache.hive.service.cli.session.SessionManager.executeSessionHooks(SessionManager.java:210)
at org.apache.hive.service.cli.session.SessionManager.openSession(SessionManager.java:133)
at org.apache.hive.service.cli.CLIService.openSession(CLIService.java:118)
at org.apache.hive.service.cli.thrift.ThriftCLIService.getSessionHandle(ThriftCLIService.java:263)
at org.apache.hive.service.cli.thrift.ThriftCLIService.OpenSession(ThriftCLIService.java:207)
at org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1313)
at org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1298)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingProcessor.process(HadoopThriftAuthBridge20S.java:608)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:244)
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:745)

1 ACCEPTED SOLUTION

avatar

Hi,

 

CDH5 includes sentry, so you should not have Sentry installed separately. You are probably getting problems because you are using CDH 4 sentry binaries with CDH5 configuration and code.

 

Deactivate Sentry and restart your cluster.

 

Thanks,

Darren

View solution in original post

3 REPLIES 3

avatar
Explorer
Here's version information:

CDH5.1.0-1.cdh5.1.0.p0.53

SENTRY1.1.0-1.cdh4.3.0.p0.8

avatar

Hi,

 

CDH5 includes sentry, so you should not have Sentry installed separately. You are probably getting problems because you are using CDH 4 sentry binaries with CDH5 configuration and code.

 

Deactivate Sentry and restart your cluster.

 

Thanks,

Darren

avatar
Explorer

It is working. Thanks a lot!