Как подключиться к кербероизированным hdfs от Spark на Kubernetes? - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь подключиться к hdfs, который имеет керберизацию, который завершается с ошибкой

org.apache.hadoop.security.AccessControlException: ПРОСТАЯ аутентификация не включена.Доступно: [TOKEN, KERBEROS]

Какие дополнительные параметры мне нужно добавить при создании настройки Spark, помимо стандартных вещей, которые вам нужны для порождения рабочих контейнеров Spark?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Я также задал очень похожий вопрос здесь .

Во-первых, пожалуйста, проверьте, происходит ли эта ошибка в вашем модуле драйвера или модуле исполнителя.Вы можете сделать это, просматривая журналы драйвера и исполнителей, когда они начинают работать.Несмотря на то, что у меня нет никаких ошибок при работе с искрой, выполняемой только на мастере, я сталкиваюсь с этой ошибкой, когда вызываю исполнителей.Решением является использование изображения коляски .Вы можете увидеть реализацию этого в проекте Ифилоненко , о котором он упоминал в своей демонстрации .

Предпосылкой этого подхода является сохранение маркера делегирования (полученного путем запуска kinit) в общем постоянном томе.Затем этот том можно подключить к модулям драйвера и исполнителя, предоставив им доступ к токену делегирования и, следовательно, керберизованным файлам hdf.Я полагаю, что вы получаете эту ошибку, потому что ваши исполнители в настоящее время не имеют токена делегирования, необходимого для доступа к hdfs.

PS Полагаю, вы уже смотрели документацию Спарк .

0 голосов
/ 31 января 2019

Отметьте <property>hadoop.security.authentication<property> в вашем файле свойств hdfs-site.xml.
В вашем случае оно должно иметь значение kerberos или token.
Или вы можете настроить его из кода, указав свойство явно:

Configuration conf = new Configuration();
conf.set("hadoop.security.authentication", "kerberos");

Более подробную информацию о безопасном подключении к hdfs можно найти здесь

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