Spark Streaming не работает в кластерном режиме при использовании HBase
У меня есть приложение Spark Streaming (1.6), которое использует соединение HBase.
Если я подам заявку, используя --deploy-mode client
все хорошо, но если я использую cluster
В режиме приложения происходит сбой и возвращается следующая ошибка:
ПРЕДУПРЕЖДЕНИЕ ipc.RpcClientImpl: Исключительная ситуация при подключении к серверу: javax.security.sasl.SaslException: сбой инициализации GSS [вызвано GSSException: допустимые учетные данные не предоставлены (уровень механизма: не удалось найти какой-либо Kerberos tgt)]
ОШИБКА ipc.RpcClientImpl: Ошибка аутентификации SASL. Наиболее вероятная причина - отсутствие или неверные учетные данные. Рассмотрим "Кинит". javax.security.sasl.SaslException: инициация GSS завершилась неудачно [вызвано GSSException: действительные учетные данные не предоставлены (уровень механизма: не удалось найти любой Kerberos tgt)]
Внутри приложения для каждого обработанного RDD я проверяю TGT и, в конце концов, перезагружаюсь из keytab, используя
UserGroupInformation.getLoginUser.checkTGTAndReloginFromKeytab()
Я также передаю каталог, содержащий файлы hdfs / hbase / core-site.xml, используя spark.driver.extraClassPath
вариант.
Кто-то может мне помочь?