Я пытаюсь подключиться к Hive с аутентификацией Kerberos, используя beeline.Я инициализировал тикет с
kinit -V --kdc-hostname=<HOSTNAME> -kt /etc/krb5.keytab <USER@REALM>
и вижу, что он активен, когда я запускаю klist
, но когда я пытаюсь подключиться к Hive, я получаю известное сообщение об ошибке:
SASL negotiation failure
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
Я изменил уровень log4j на отладку и обнаружил следующее:
DEBUG HiveAuthFactory: Cannot find private method "getKeytab" in class:org.apache.hadoop.security.UserGroupInformation
и после этого Билайнпытаюсь использовать мое имя пользователя unix для аутентификации, что явно не удается.Поэтому я думаю, что проблема в том, что Билайн не находит мой файл keytab.