我想使用带有 curl 的 HTTPFS 将数据从本地 Windows 机器加载到 HDFS。Hadoop 集群由 Kerberos 保护。
我如何设法完成身份验证?
尝试以下语句时...
curl -k --negotiate -u : -i -X PUT "HTTP..."
它失败了
HTTP/1.1 401 Unauthorized
Server: Apache-Coyote/1.1
WWW-Authenticate: Negotiate
Set-Cookie: hadoop.auth=; Path=/; Secure; HttpOnly
Content-Type: text/html;charset=utf-8
Content-Length: 997
Date: Tue, 30 Jan 2018 12:15:30 GMT
HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Set-Cookie: hadoop.auth=; Path=/; Secure; HttpOnly
Content-Type: text/html;charset=utf-8
Content-Length: 1149
Date: Tue, 30 Jan 2018 12:15:30 GMT
卷曲版本是:
curl 7.46.0 (x86_64-pc-win32) libcurl/7.46.0 OpenSSL/1.0.2e zlib/1.2.8 WinIDN libssh2/1.6.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz
我为 Windows 安装了 MIT Kerberos,它显示了一张有效的票。不幸的是,我对 Kerberos 了解不多,这就是为什么我有点卡住了。
非常感谢任何帮助或研究起点。