使用Kerberos访问Cloudera Hadoop会出现TokenCache错误:无法获取Master Kerberos主体作为更新程序使用

时间:2013-09-02 02:24:36

标签: hadoop kerberos cloudera

我正在尝试从Mac Book Pro OS X 10.8.4访问Cloudera Hadoop设置(HIVE + Impala)。

我们在Linux服务器上安装了Cloudera CDH-4.3.0。我已将CDH-4.2.0 tarball提取到我的Mac Book Pro中。

我已经设置了正确的配置和Kerberos凭据,以便像'hadoop -fs -ls /'这样的命令可以正常启动。

但是,当我执行'show databases'命令时,它会出现以下错误:

> hive
> show databases;
>
 Failed with exception java.io.IOException:java.io.IOException: Can't get Master Kerberos    principal for use as renewer

该错误与TokenCache有关。

当我搜索错误时,似乎跟随方法'obtainTokensForNamenodesInternal'在尝试获取特定FS的委托令牌时会抛出此错误并失败。

http://hadoop.apache.org/docs/current/api/src-html/org/apache/hadoop/mapreduce/security/TokenCache.html

在客户端,我没有看到HIVE shell日志中的任何错误。我也尝试使用相同配置的CDH 4.3.0的tarball我得到了相同的错误。

我们非常感谢您解决此错误的任何帮助或指示。

2 个答案:

答案 0 :(得分:2)

似乎你没有为纱线配置kerberos。 在yarn-site.cml

中添加以下配置
<property>
    <name>yarn.nodemanager.principal</name>
    <value>yarn_priciple/fqdn@_HOST</value>
</property>
<property>
    <name>yarn.resourcemanager.principal</name>
    <value>yarn_priciple/fqdn@_HOST</value>
</property> 

答案 1 :(得分:0)

从Cloudera Manager在主机中创建新的Gateway YARN角色实例。它将自动设置和更新yarn-site.xml。