卷曲请求上的WebHDFS + Kerberos IllegalArgumentException

时间:2019-03-28 15:39:52

标签: windows kerberos webhdfs hdp

由于我在HDB群集上配置了kerberos,因此我试图使curl webhdfs正常工作。

如果不创建kerberos票证,我得到的是身份验证错误。

一旦我创建了票证,那么引发的消息就是一个Java IllegalArgumentException

我正在从Windows计算机连接,并且能够在MIT Kerberos票证管理器上看到有效的kerberos票证。

我正在针对活动的名称节点IP使用此命令:

kinit -kt hdfs.headless.keytab hdfs && curl -k -i --negotiate -u : "http://X.X.X.X:50070/webhdfs/v1/user?op=LISTSTATUS"

这是服务器的响应(有两个响应,第一个是我猜测的kerberos auth协商):

HTTP/1.1 401 Authentication required
Date: Thu, 28 Mar 2019 15:30:29 GMT
Date: Thu, 28 Mar 2019 15:30:29 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
WWW-Authenticate: Negotiate
Set-Cookie: hadoop.auth=; Path=/; HttpOnly
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Content-Length: 275

HTTP/1.1 403 java.lang.IllegalArgumentException
Date: Thu, 28 Mar 2019 15:30:29 GMT
Date: Thu, 28 Mar 2019 15:30:29 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: hadoop.auth=; Path=/; HttpOnly
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Content-Length: 297

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 403 java.lang.IllegalArgumentException</title>
</head>
<body><h2>HTTP ERROR 403</h2>
<p>Problem accessing /webhdfs/v1/user. Reason:
<pre>    java.lang.IllegalArgumentException</pre></p>
</body>
</html>

如果我从HDP群集中的Cent OS计算机上获取此请求,则它工作正常,所以我认为我的请求或kerberos配置有问题。

顺便说一句,我找不到webhdfs日志来查看namenode内有关该异常的更多信息(我在/ var / log / hadoop / hdfs中查看...)。我无法使用Web UI来查看HDFS日志,因为当我尝试从浏览器进行访问时,它以同样的异常被破坏了。

谢谢

0 个答案:

没有答案