dropbox / PyHive

Python interface to Hive and Presto. 🐝

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error connecting to Kerberos using pyHive

andret8 opened this issue · comments

Hi,
I get this error while connecting to Hive via Kerberos:

thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-1) SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Server krbtgt/LOCAL.IT@EXAMPLE.IT not found in Kerberos database)'

I am able to connect to Kerberos using "kinit -kt user user.keytab", and also via Hive ODBC driver. I use the same krb5.conf file, with Default Realm = EXAMPLE.IT.

With kinit, I obtain, correctly:

Default principal: user@EXAMPLE.IT
Valid starting Expires Service principal
09/28/23 11:05:16 09/28/23 11:05:16 krbtgt/EXAMPLE.IT@EXAMPLE.IT

The error is only using pyHive library. In the error, the library uses the domain LOCAL.IT instead of the one specified in krb5.conf, that is EXAMPLE.IT

My connection in pyHive:

conn = hive.Connection(host="host.domain.it",
                       port=10000,
                       auth="KERBEROS",
                       database="db_123",
                       kerberos_service_name="hive")

Note that LOCAL.IT is equal to domain.it.

Can you help me?
Thank you
Andrea