Билайн не может найти приватный метод "getKeytab" - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь подключиться к 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.

1 Ответ

0 голосов
/ 29 ноября 2018

Скорее всего, проблема в команде beeline.

Убедитесь, что вы правильно указали параметр аутентификации и заключили в двойные кавычки строку подключения.

beeline -u "jdbc:hive2://HOSTNAME:10000/default;principal=hive/hostname@Example.com"

Итакже проверьте своего основного участника Kerberos, если у него есть разрешение на доступ к кусту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...