Невозможно получить доступ к HDFS, когда кластер Hadoop запущен - PullRequest
0 голосов
/ 08 декабря 2018

Я успешно керберизовал тестовый кластер Hortonworks.Ambari создал ключевые таблицы для сервисов, и все они запущены.Есть ГА для наменодов.Резервный наменоде запускается быстро, активный наменоде занимает гораздо больше времени.Namenode UI показывает, что все правильно.Можно войти с помощью Kerberos.Наменодами являются nn1.zim.com и nn2.zim.com

Что может быть не так в этой конфигурации?Войдите как hdfs, загрузите keytab с помощью kinit -kt.При попытке HDFS в списке я получаю эту ошибку:

[root @ nn1 hdfs] # hdfs dfs -ls / 18/12/02 16:18:22 WARN ipc.Client: Возникла исключительная ситуация при подключении ксервер: javax.security.sasl.SaslException: сбой инициализации GSS [вызвано исключением GSSE: действительные учетные данные не предоставлены (уровень механизма: не удалось найти ни одного Kerberos tgt)] 18/12/02 16:18:22 повторить попытку.RetryInvocationHandler: java.io.IOException: Сбой при локальном исключении: java.io.IOException: javax.security.sasl.SaslException: сбой инициализации GSS [вызвано GSSException: не предоставлены действительные учетные данные (уровень Mechani sm: не удалось найти любой Kerberos tgt)];Сведения о хосте: локальный хост: "nn1. Zim.com/192.168.50.10";хост назначения: "nn2.zim.com": 8020;при вызове ClientNamenodeProtocolTranslatorPB.getFileInfo через nn2.zim.com/192.168.50.11: 8020 после 1 попытки перехода на другой ресурс.Попытка аварийного переключения после сна в течение 1123 мс.

Принципал Kerberos для хостов:

nn1.zim.com/192.168.50.10@ZIM.COM nn1.zim.com@ ZIM.COM nn2.zim.com/192.168.50.11@ZIM.COM nn2.zim.com@ZIM.COM host/nn1.zim.com@ZIM.COM host/nn2.zim.com@ZIM.COM

krb5.cfg:

[logging] default = FILE: /var/log/krb5libs.log
kdc = FILE: / var / log / krb5kdc.log
admin_server = FILE: /var/log/kadmind.log

[libdefaults] dns_lookup_realm = false
ticket_lifetime = 24h renew_lifetime = 7d
forwardable = true
rdns = false default_realm= ZIM.COM
default_ccache_name = KEYRING: постоянный:% {uid}

[realms] ZIM.COM = {
kdc = kb.zim.com
admin_server = kb.zim.com
}

[domain_realm]
.zim.com = ZIM.COM
zim.com = ZIM.COM

1 Ответ

0 голосов
/ 17 декабря 2018

РЕШЕНИЕ: Для каждого хоста должны быть созданы два принципала kerberos: FQDN и short.Я создал только полное доменное имя (nn1.zim.com) - это было причиной проблемы.После создания второго участника (nn1) все начало работать.

При работе с Active Directory при создании объекта AD Computer автоматически создаются оба типа участников.

...