2016-08-05 2 views
0

Я хочу установить керберос билет в качестве параметра Java с помощью -DKRB5CCNAME во время выполненияJava -DKRB5CCNAME не работает

Но он не работает в Hadoop

Я по следующей ссылке,

http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzaha/rzahajgssknit.htm

set java_arguments=%JAVA_HEAP_MAX% -Dkrb5ccname=FILE:///ticketlocation %HADOOP_OPTS% -classpath %CLASSPATH% %CLASS% %hdfs-command-arguments% 
call %JAVA% %java_arguments% 

Некоторые помогают мне достичь этого.

Заранее спасибо.

+0

Попробуйте в верхнем регистре: KRB5CCNAME. –

+0

Спасибо. Я уже пробовал. – Kumar

ответ

1

Ваши ссылка указывает на IBM JDK, который не реализует расширения Java (сравни х в javax классов) с тем же синтаксисом Sun/Oracle JDK или OpenJDK.
Работа с Sun/Oracle, я никогда не слышал о «KRB5CCNAME» как свойство системы Java.

универсальный способ установить определенный кэш билет Kerberos для всех приложений - Java и приложения (независимо от того в JDK вы используете) и C++ приложения и инструменты командной строки, как kinit - это определить среду переменная названа, не удивительно, KRB5CCNAME. ссылка

+0

Есть ли способ установить krb5ccname во время выполнения в java-приложении? – Kumar

+0

В общем, да, с помощью конфигурации JAAS (см. Http://docs.oracle.com/javase/1.5.0/docs/guide/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule .html) - с Hadoop, это должно быть возможно, ср. https://steveloughran.gitbooks.io/kerberos_and_hadoop/content/sections/jaas.html - но тогда библиотека Auth управляет собственной конфигурацией JAAS, поэтому, возможно, не все системные параметры соблюдены; счастливое испытание! –