Ranjan Swain
Ranjan Swain

Reputation: 75

APACHE DRILL:ISSUE connecting to hive with kerbros enabled

I Have a cluster which is kerbroized ,i have installed drill in another server and i am trying to use hive which is part of kerbrorized cluster .

As part of hive i have put below configuration on my drill-override.conf

    drill.exec: {
    security: {
     # user.auth.enabled:true,
      auth.mechanisms:["KERBEROS"],
      auth.principal:"xxxx/xxxxxxxx",
      auth.keytab:"/xxx/xxxx/drill.keytab"
    drill.exec.http.ssl_enabled="true"
     }
  }
drill.exec:
{
 cluster-id: "drillbits1",
 zk.connect: "localhost:2181"

}

when i am accessing hive from drill ui ,getting below errors:

 2017-04-07 12:32:48,322 [2718c667-5587-b307-58f7-b673e29b7dbf:frag:0:0]          WARN  o.a.d.e.s.h.schema.HiveSchemaFactory - Failure while getti
  ng Hive database list.
    org.apache.thrift.TException: java.util.concurrent.ExecutionException:           MetaException(message:Got exception: org.apache.thrift.transport.
 TTransportException null)

I have tried with drill version:1.5.0,1.10.0

Appriciate any help to resolve this issue.

Upvotes: 0

Views: 199

Answers (1)

Sorabh
Sorabh

Reputation: 71

The configuration you have mentioned inside drill-override.conf is for DrillClient to Drillbit connection using kerberos.

For Hive, I don't think we have tried it before, but based on some research I think you can try to add below in your Drill Hive Storage Plugin. Also make sure that you have generated a kerberos ticket on the Drillbit node using kinit command for the process user which you are using to run Drillbit. Please try and let us if it helps.

{
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "thrift://<metastore_ip:port>",
    "hive.metastore.sasl.enabled": "true",
    "hive.metastore.kerberos.principal": "<metastore_kerberos_principal"
  }
}

Upvotes: 1

Related Questions