Spark - GSSException: действительные учетные данные не предоставлены (уровень механизма: не удалось найти Kerberos tgt) - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь запустить искровое задание в режиме кластера и выдает следующее исключение: -

java .io.IOException: org. apache .had oop .security. authentication.client.AuthenticationException: GSSException: действительные учетные данные не предоставлены (уровень механизма: не удалось найти любой Kerberos tgt)

, но моя работа работает нормально в режиме клиента. Кто-нибудь может предложить какое-то решение?

1 Ответ

0 голосов
/ 08 апреля 2020

Похоже, ваши учетные данные Kerberos не распространяются на рабочие узлы.

Мы столкнулись с той же проблемой после обновления версии Spark с 1.x и 2.x, выяснив, что с более новыми версиями Spark Сам занимается распределением ключей. Для этого мы должны были предоставить параметры --principal и --keytab с помощью команды spark-submit.

В документации Spark есть хороший раздел о Kerberos. Кроме того, в нем говорится о Longßrunning Applications .

Spark поддерживает автоматическое создание новых токенов для этих приложений при работе в режиме YARN. Учетные данные Kerberos необходимо предоставить приложению Spark с помощью команды spark-submit, используя параметры --principal и --keytab.

Предоставленная таблица ключей будет скопирована на компьютер, на котором запущено приложение Master, через Имел oop Распределенный кеш. По этой причине настоятельно рекомендуется, чтобы как YARN, так и HDFS были защищены как минимум с помощью шифрования.

Имя входа Kerberos будет периодически обновляться с использованием предоставленных учетных данных, и будут создаваться новые маркеры делегирования для поддерживаемых.

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