Можем ли мы использовать несколько объектов UserGroupInformation (ugi) для аутентификации с помощью Kerberized oop? - PullRequest
0 голосов
/ 28 января 2020

Мне нужно аутентифицировать два разных кластера HDFS в разных сферах. Но только один работает нормально, когда я создаю экземпляр другого объекта UGI, он выдает ошибку

UserGroupInformation.setConfiguration(conf);
UserGroupInformation.loginUserFromKeytab(Principal , keytab path);

, он отлично работает, когда у меня одно имя участника службы

Но когда у меня несколько имен SPN, имеющих разные области, это выдает ошибку

Мой пользователь 1 и пользователь 2 принадлежат разным сферам

SPN1 - "hdfs / user1@ALICE.ABC.COM" SPN2 - "hdfs / user2@BOB.ABC.COM"

Причина by: javax.security.auth.login.LoginException: java .lang.IllegalArgumentException: недопустимое имя участника org. apache .had oop .security.authentication.util.KerberosName $ NoMatchingRule: правила не применяются

Но в обоих случаях есть правило DEFAULT

В этом документе я также слышал о множественных UGI https://bryanbende.com/development/2016/03/20/learning-kerberos-and-ugi

Использование множественных UGI

UserGroupInformation.loginUserFromKeytabAndReturnUGI(user, keytab);

Но это также выдает ту же ошибку, как мне достичь этих

...