И если вам интересно, как JAAS загружает вашу конфигурацию (или если вам нужно отладить вашу конфигурацию, потому что синтаксические ошибки и FileNotFound не сообщаются по умолчанию):
зрабатываем веб-приложение, которое взаимодействует с такими компонентами hadoop, как HDFS, HBase и Impala. Кластер керберизован, мы аутентифицируемся с помощью конфигурации JAAS. Мы настраиваем JAAS в аргументах VM, как показано ниже
-Djava.security.auth.login.config=/user/gss-jaas.conf
-Djava.security.krb5.conf=/user/krb5.ini
-Djavax.security.auth.useSubjectCredsOnly=false
Наш конфиг JAAS как ниже
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=false
doNotPrompt=true
useKeyTab=true
keyTab="file:C:/blah/blah/dummy.keytab"
principal="[email protected]"
debug=false;
};
Работает нормально при подключении к hbase и Hdfs. Но, связываясь с Impala, мы сталкиваемся с проблемами. Мы можем связаться с Impala, когда мы меняемсяcom.sun.security.jgss.initiate
вClient
Но мы не хотим менять или переключаться между конфигами Jaas.
Есть ли способ, которым мы можем использовать один и тот же файл конфигурации JAAS для всех служб? Мы не хотим использовать System.setProperties для этого. а также при переключении между конфигами JAAS мы получаем исключения. Так что лучше использовать тот же файл конфигурации.
Любая помощь?