Hadoop HDFS over HTTP 2.4.1 - Using HTTP Tools
2015-11-28 16:51
519 查看
Security
开箱即可用的HttpFS既支持pseudo认证,也支持Kerberos HTTP SPNEGO认证。
Pseudo Authentication
用Pseudo认证时,用户名必须在HttpFS URL的查询参数里通过user.name=<USERNAME>指定。例如:[html] view
plaincopy
$ curl"http://<HTTFS_HOST>:14000/webhdfs/v1?op=homedir&user.name=babu"
Kerberos HTTP SPNEGOAuthentication
Kerberos HTTP SPNEGO认证需要一个支持KerberosHTTP SPNEGO协议的工具或者库。重要的:如果使用curl,curl的版本必须支持GSS(如果支持的话,curl –v命令会打印出“GSS”)。
例如:
[html] view
plaincopy
$ kinit
Please enter the password for tucu@LOCALHOST:
$ curl --negotiate -u foo "http://<HTTPFS_HOST>:14000/webhdfs/v1?op=homedir"
Enter host password for user 'foo':
注意:--negotiate 需要-u 用户选项,但是它不使用。当被要求输入密码时直接按回车,使用任何的值作为User都将被忽略。
Remembering
Who I Am (Establishingan Authenticated Session)
在大多数的认证机制中,Hadoop HTTP认证机制只认证用户一次,给其一个短暂的Token,为后续的请求提供认证验证凭证。这个Token记录在HTTP Cookie中。当使用像curl这样的工具时,Token必须在第一次为第一次请求做认证时被存储,在后续的请求中这个Token都要提交。使用curl的-b和-c选项,可以发送和保存必要的HTTP Cookie信息。
例如,第一次请求被认证时应该保存接收到的HTTP Cookie。
用Pseudo认证:
[html] view plaincopy$ curl -c ~/.httpfsauth "http://<HTTPFS_HOST>:14000/webhdfs/v1?op=homedir&user.name=babu"
用Kerberos HTTP SPNEGO认证:
[html] view
plaincopy
$ curl --negotiate -u foo -c ~/.httpfsauth "http://<HTTPFS_HOST>:14000/webhdfs/v1?op=homedir"
然后,后续的操作转发先前接收到的HTTP Cookie:
[html] view plaincopy$ curl -b ~/.httpfsauth "http://<HTTPFS_HOST>:1400
相关文章推荐
- 在Xcode7/7.1中使用Http请求
- Hadoop HDFS over HTTP 2.4.1 - Server Setup
- Hadoop HDFS over HTTP
- 项目总结:以网络安全为例的大数据可视化设计
- service和activity的不同(回应:http轮询)
- C++ Template http://www.cnblogs.com/ggjucheng/archive/2011/12/18/2292090.html
- 计算机网络原理之RIP以及OSPF对比
- Android网络编程之使用HttpClient批量上传文件
- 《TCP/IP详解 卷1:协议》 读书笔记 第二章 链路层
- Tomcat与Apache HTTP服务器集成
- 网络操作系统学习笔记1
- [ios基础]ios面试--网络协议篇
- 纯虚函数 http://blog.chinaunix.net/uid-20585352-id-62720.html
- socket选项总结(setsocketopt) http://blog.chinaunix.net/uid-24517549-id-4044883.html
- setsockopt中参数之SO_REUSEADDR的意义(转) http://www.cnblogs.com/qq78292959/archive/2013/01/18/2865926.html
- HttpClient前言
- linux网络编程
- 静态联编和动态联编http://www.cnblogs.com/xiaofengkang/archive/2011/10/21/2220678.html
- 基于网络传输的数据包的加密解密方法及终端
- 浅析c与c++中struct的区别 http://www.jb51.net/article/39992.htm