Мне нужно аутентифицировать два разных кластера 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);
Но это также выдает ту же ошибку, как мне достичь этих