2015-07-12 3 views
0

Я пытаюсь создать единый узел hasoop-кластера в безопасном режиме с включенной аутентификацией Kerberos. Я создал файлы keytab, как описано в документации. При отладке вещи -HADOOP_OPTS с Dsun.security.krb5.debug = правда, я вижу следующие сообщения об ошибкахНайденный неподдерживаемый ключ (8) для nn/hadoop-kerberos @ HADOOP-KERBEROS



    Found unsupported keytype (8) for nn/[email protected] 
    Added key: 23version: 4 
    Added key: 16version: 4 
    Added key: 17version: 4 
    Added key: 18version: 4 
    Ordering keys wrt default_tkt_enctypes list 
    Using builtin default etypes for default_tkt_enctypes 
    default etypes for default_tkt_enctypes: 18 17 16 23 1 3. 
    Added key: 3version: 4 
    Found unsupported keytype (8) for nn/[email protected] 
    Added key: 23version: 4 
    Added key: 16version: 4 
    Added key: 17version: 4 
    Added key: 18version: 4 
    Ordering keys wrt default_tkt_enctypes list 
    Using builtin default etypes for default_tkt_enctypes 
    default etypes for default_tkt_enctypes: 18 17 16 23 1 3. 
    Using builtin default etypes for default_tkt_enctypes 
    default etypes for default_tkt_enctypes: 18 17 16 23 1 3. 
    >>> KrbAsReq creating message 
    >>> KrbKdcReq send: kdc=localhost UDP:3738, timeout=30000, number of retries =3, #bytes=171

Пожалуйста, обратите внимание, что у меня есть ../jre/lib/security/local_policy.jar и .../jre/lib/security/US_export_policy.jar в CLASSPATH.

Кроме того, я следующий в kdc.conf



    [kdcdefaults] 
    kdc_ports = 3738 
    kdc_tcp_ports = 3738 

    [realms] 
    HADOOP-KERBEROS = { 
     kadmind_port = 3739 
     #master_key_type = des3-hmac-sha1 
     acl_file = /var/kerberos/krb5kdc/kadm5.acl 
     dict_file = /usr/share/dict/words 
     #admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab 
     admin_keytab = /etc/krb5.keytab 
     supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal des-cbc-crc:v4 des-cbc-crc:afs3 
    } 
    [logging] 
     # By default, the KDC and kadmind will log output using 
     # syslog. You can instead send log output to files like this: 
     kdc = FILE:/home/build/log/krb5kdc.log 
     admin_server = FILE:/home/build/log/kadmin.log 
     default = FILE:/home/build/log/krb5lib.log 

Klist -e показывает следующий вывод для пользователя aleksg, который я использую для запуска NameNode с Hadoop NameNode команды

Ticket cache: FILE:/tmp/krb5cc_501 
Default principal: [email protected] 

Valid starting  Expires   Service principal 
07/12/15 09:16:39 07/13/15 09:16:39 krbtgt/[email protected] 
     Etype (skey, tkt): Triple DES cbc mode with HMAC/sha1, Triple DES cbc mode with HMAC/sha1 


Kerberos 4 ticket cache: /tmp/tkt501 
klist: You have no tickets cached 

Похоже, что DES cbc режим с HMAC/sha1 используется для TGT. Не могли бы вы указать мне, как я могу решить проблему? Я использую hasoop-2.4.0 и jdk1.7.0_25. Может ли это быть каким-то образом связано с разрешениями файлов keytab или я должен восстановить файлы keytab с включенным типом шифрования? Спасибо!

+0

** (A1) ** Sun/Oracle JDK устанавливается с "слабым ключом шифрования" по умолчанию (из-за экспорта США политики в настоящее время устарели); вы загрузили JAR? * Пока они находятся в стандартном каталоге, не беспокойтесь о CLASSPATH * ** (A2) ** Вместо этого вы попытались OpenJDK? ** (B) ** Некоторые алгоритмы шифрования могут быть отключены, поскольку они считаются «слабыми», проверьте свои файлы конфигурации на http://web.mit.edu/Kerberos/krb5-devel/doc/admin/enctypes.html –

+0

Привет, Самсон. Связано с A1. Я загрузил local_policy.jar и US_export_policy.jar и добавил их в CLASSPATH. Только один вопрос на будущее, где находится стандартный каталог, который вы упомянули в своем ответе. Re A2. Я не пробовал OpenJDK. Re B. Я внес некоторые изменения в свою конфигурацию и смог решить эту проблему. Пожалуйста, см. Ответ, который я только что отправил на мой вопрос. –

ответ

0

У меня возникла проблема, создавая все файлы keytab, используемые в конфигурации безопасного хаопа (которые упоминаются в hdfs-site.xml, yarn-site.xml и т. Д.) На основе «des3-hmac-sha1: normal "тип шифрования (kadmin.local -e" des3-hmac-sha1: normal "). Также я изменил свой krb5.conf, чтобы использовать этот тип шифрования для default_tkt_enctypes, default_tgs_enctypes, allowed_enctypes. Я также изменил master_key_type на des3-hmac-sha1 в krb5kdc/kdc.conf.

Спасибо, -Grigor

Смежные вопросы