Hadoop 文档

General

Common

HDFS

MapReduce

MapReduce REST APIs

YARN

YARN REST APIs

YARN Service

Submarine

Hadoop Compatible File Systems

Auth

Tools

Reference

Configuration

使用浏览器访问受Hadoop Auth保护的URL

重要说明:浏览器必须支持HTTP Kerberos SPNEGO。例如,Firefox或Internet Explorer。

对于Firefox,请通过加载about:config页面访问低级配置页面。然后转到network.negotiate-auth.trusted-uris首选项,然后添加主机名或受HTTP Kerberos SPNEGO保护的Web服务器的域(如果使用多个域,并且主机名使用逗号分隔它们)。

使用curl访问受Hadoop Auth保护的URL

重要提示:卷曲版本必须支持GSS,运行卷曲-V

$ curl -V
curl 7.19.7(universal-apple-darwin10.0)libcurl / 7.19.7 OpenSSL / 0.9.8l zlib / 1.2.3
协议:tftp ftp telnet dict ldap http文件https ftps
功能:GSS协商IPv6大文件NTLM SSL libz

使用kinit登录到KDC ,然后使用curl来获取受保护的URL:

$ kinit
请输入tucu @ LOCALHOST的密码:
$ curl --negotiate -u:-b〜/ cookiejar.txt -c〜/ cookiejar.txt http:// $(主机名-f):8080 / hadoop-auth-examples / kerberos / who
输入用户“ tucu”的主机密码:

您好Hadoop Auth示例!
  • --negotiate选项启用SPNEGO的卷曲

  • -u:选项是必需的,但忽略了用户(即已经使用kinit-ED的主要被使用)。

  • -b-c是使用存储和发送的HTTP cookies。

使用Java客户端

使用AuthenticatedURL类获取经过身份验证的HTTP连接:

...
URL url =新URL(“ http:// localhost:8080 / hadoop-auth / kerberos / who”);
AuthenticatedURL.Token令牌=新的AuthenticatedURL.Token();
...
HttpURLConnection conn = new AuthenticatedURL()。openConnection(url,token);
...
conn = new AuthenticatedURL()。openConnection(url,token);
...

建立并运行示例

下载Hadoop-Auth的源代码,示例位于src / main / examples目录中。

服务器示例:

编辑hadoop-auth-examples / src / main / webapp / WEB-INF / web.xml并为为Kerberos配置的AuthenticationFilter定义设置正确的配置初始化参数(必须指定正确的Kerberos主体和密钥表文件)。有关详细信息,请参考配置文档

通过运行mvn package命令创建Web应用程序WAR文件。

将WAR文件部署在servlet容器中。例如,如果使用Tomcat,则将WAR文件复制到Tomcat的webapps /目录。

启动Servlet容器。

使用curl访问服务器

尝试使用curl访问受保护的资源。受保护的资源是:

$ kinit
请输入tucu @ LOCALHOST的密码:

$ curl http:// localhost:8080 / hadoop-auth-examples / anonymous / who

$ curl http:// localhost:8080 / hadoop-auth-examples / simple / who?user.name = foo

$ curl --negotiate -u:-b〜/ cookiejar.txt -c〜/ cookiejar.txt http:// $(主机名-f):8080 / hadoop-auth-examples / kerberos / who

使用Java客户端示例访问服务器

$ kinit
请输入tucu @ LOCALHOST的密码:

$ cd示例

$ mvn exec:java -Durl = http:// localhost:8080 / hadoop-auth-examples / kerberos / who

....

令牌值:“ u = tucu,p = tucu @ LOCALHOST,t = kerberos,e = 1295305313146,s = sVZ1mpSnC5TKhZQE3QLN5p2DWBo =”
状态码:200 OK

您是:user [tucu]校长[tucu @ LOCALHOST]

....