【问题标题】:Kerberos Authentication on Hadoop ClusterHadoop 集群上的 Kerberos 身份验证
【发布时间】:2015-05-23 13:54:11
【问题描述】:

我已经准备了一个带有普通 apache Hadoop 的 2 节点集群。这些节点充当 Kerberos 客户端到充当 Kerberos 服务器的另一台机器。 KDC Db,每台机器上的 hdfs 主体都是使用 AES 使用具有适当加密类型的 kaytab 文件创建的。 修改了所需的 hdfs-site、core-site、mapred-site、yarn-site 和 container-executor.cfg 文件。同样为了无限强度的安全性,JCE 策略文件也保存在$JAVA_HOME/lib/security 目录中。

启动 namenode 守护进程时,它工作正常。但是在访问 hdfs 时

hadoop fs –ls /

我们收到以下错误:

15/02/06 15:17:12 警告 ipc.Client:连接到服务器时遇到异常:javax.security.sasl.SaslException:GSS 启动失败 [由 GSSException 引起:未提供有效凭据(机制级别:找不到任何 Kerberos tgt)] ls:本地异常失败:java.io.IOException:javax.security.sasl.SaslException:GSS 启动失败 [由 GSSException 引起:未提供有效凭据(机制级别:未能找到任何 Kerberos tgt)];主机详情:本地主机为:“xxxxxxx/10.122.48.12”;目的主机是:“xxxxxxx”:8020;

如果有人有先验知识或曾在 Hadoop 上使用过 Kerberos,请就上述问题向我们提出一些解决方案。

【问题讨论】:

    标签: hadoop kerberos


    【解决方案1】:

    要使用 Hadoop 命令,需要先使用 kinit 命令获取 Kerberos 票证:

    kinit [-kt user_keytab username]
    

    完成后,您可以列出票证:

    klist
    

    详情请参阅 cloudera 的文档:Verify that Kerberos Security is Working

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多