Ambari:启用kerberos时出错

Ambari:启用kerberos时出错,kerberos,hadoop2,ambari,Kerberos,Hadoop2,Ambari,我已经安装了带有HDP2.6的Ambari 2.5.0版本,并添加了一些服务,但在启用kerberos的同时,我面临一个奇怪的问题 resource_management.core.exceptions.Fail: Execution of 'curl -sS -L -w '% {http_code}' -X GET --negotiate -u : 'http://xxxx:50070/webhdfs/v1/ats/done? op=GETFILESTATUS&user.name=hd

我已经安装了带有HDP2.6的Ambari 2.5.0版本,并添加了一些服务,但在启用kerberos的同时,我面临一个奇怪的问题

resource_management.core.exceptions.Fail: Execution of 'curl -sS -L -w '%
{http_code}' -X GET --negotiate -u : 'http://xxxx:50070/webhdfs/v1/ats/done?
op=GETFILESTATUS&user.name=hdfs'' returned status_code=403. 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
  <title>Error 403   
   org.apache.hadoop.security.authentication.client.AuthenticationException
 </title

</head>
<body><h2>HTTP ERROR 403</h2>
<p>Problem accessing /webhdfs/v1/ats/done. Reason:
<pre>    
org.apache.hadoop.security.authentication.client.AuthenticationException
</pre>
  </p><hr /><i><small>Powered by Jetty://</small></i><br/>                                                
 <br/> 
resource\u management.core.exceptions.Fail:执行'curl-sS-L-w'%
{http_code}'-X GET--协商-u:'http://xxxx:50070/webhdfs/v1/ats/done?
op=GETFILESTATUS&user.name=hdfs''返回的状态\u code=403。
错误403
org.apache.hadoop.security.authentication.client.AuthenticationException

&user.name=hdfs
在使用Kerberos身份验证时没有任何意义。Hadoop从Kerberos票证中获取主体,应用“用户映射规则”将其转换为Hadoop用户(例如
X12_alpha@WTF.ORG
映射到
x12
),并使用它而不是
user.name
。Cf.我仅从ambari启用kerebros,对于其他集群,我没有任何此类问题,但对于这一个,我无法找到我犯错误的地方。你是说是ambari生成了愚蠢的
curl
命令?您是否知道票据缓存中存在哪个Kerberos主体,并由SPNEGO auth的
curl
使用(参见
--congregate
)?您是否检查了该文件(或目录)的访问权限
hdfs:///ats/done
在这两个集群中都是相似的吗?@SamsonScharfrichter我非常确定user.name arg在Kerberos auth上被hadoop忽略了。我看到的问题是错误代码403,这意味着请求的资源不存在或用户无法访问请求的资源。是的,这就是为什么我询问该资源的实际权限+实际经过身份验证的用户。我猜有些Ambari操作失败了,错误没有被正确捕获。。。