apachedrill:issue connecting 启用kerbros的配置单元

00jrzges  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(263)

我有一个集群是kerbroized的,我已经在另一台服务器上安装了drill,我正在尝试使用hive,它是kerbroized集群的一部分。
作为配置单元的一部分,我在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"

}
当我从drill ui访问配置单元时,出现以下错误:

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)

我试过用钻头version:1.5.0,1.10.0
通知任何帮助来解决这个问题。

oewdyzsn

oewdyzsn1#

您在drill-override.conf中提到的配置是用于使用kerberos的drillclient到drillbit的连接。
对于hive,我认为我们以前没有尝试过,但是根据一些研究,我认为您可以尝试在您的drill hive存储插件中添加以下内容。另外,请确保已使用kinit命令在drillbit节点上为用于运行drillbit的流程用户生成kerberos票证。如果有用的话,请让我们试试。

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

相关问题