2015-03-20 4 views
1

Я подготовил кластер из двух узлов с простым Apache Hadoop. Эти узлы действуют как клиент Kerberos на другие компьютеры, которые действуют как сервер Kerberos. KDC Db, руководители hdfs на каждой машине создаются с помощью своих файлов kaytab с надлежащими типами шифрования с использованием AES. Изменены необходимые файлы hdfs-site, core-site, mapred-site, yarn-site и container-executor.cfg. Кроме того, для неограниченной защиты, файлы политики JCE также хранятся в каталоге $ JAVA_HOME/lib/security.Проверка подлинности Kerberos на кластере Hadoop

При запуске демонов namenode он работает нормально. Но при обращении к HDFS, как

Hadoop фс -ls/

мы получили ошибку ниже:

15/02/06 15:17:12 WARN ipc.Client: Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)] ls: Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "xxxxxxx/10.122.48.12"; destination host is: "xxxxxxx":8020;

Если кто-то имеет предшествующее знание или работал на Kerberos поверх Hadoop, любезно предложить нам некоторое решение по вышеуказанному вопросу.

ответ

2

Чтобы использовать команду Hadoop, необходимо использовать Kinit команду, чтобы получить билет Kerberos первый:

kinit [-kt user_keytab username] 

Как только это сделано, вы можете перечислить билет с:

klist 
док

знакомства Cloudera в для получения более подробной информации: Verify that Kerberos Security is Working

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