Hoop是对Hadoop HDFS Proxy 的改良重写,为HadoopHDFS提供了HTTP(S)的访问接口。使用Hoop,你可以:
- 通过标准的HTTP协议访问你的HDFS系统
- 在运行不同版本的HDFS之间进行数据交换(这克服了一些RPC方式因版本不同而产生的兼容性问题)
- 将对HDFS的操作置于防火墙的保护下。Hoop Server在系统中可以充当网关的角色,并且只允许本系统穿越。
组件
Hoop由两部分组成:Hoop Server 和 Hoop Client,他们分别作用是:
- Hoop Server是一个提供REST HTTP协议的服务,它允许你通过HTTP协议进行所有HDFS支持的文件系统的操作。
- Hoop Client是一个HDFS的客户端实现,使用它你可以使用通常的HDFS的操作方法来通过Hoop操作HDFS。
例子
下面是几个使用传统的CURL工具通过Hoop操作HDFS的例子:
1.获取home目录
$ curl -i "http://hoopbar:14000?op=homedir&user.name=babu"
HTTP/1.1 200 OK
Content-Type: application/json
Transfer-Encoding: chunked
{"homeDir":"http:\/\/hoopbar:14000\/user\/babu"}
$
2.读取一个文件内容
$ curl -i "http://hoopbar:14000?/user/babu/hello.txt&user.name=babu"
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Hello World!
$
3.写文件
$ curl -i -X POST "http://hoopbar:14000/user/babu/data.txt?op=create" --data-binary @mydata.txt --header "content-type: application/octet-stream"
HTTP/1.1 200 OK
Location: http://hoopbar:14000/user/babu/data.txt
Content-Type: application/json
Content-Length: 0
$
4.列出目录的内容
$ curl -i "http://hoopbar:14000?/user/babu?op=list&user.name=babu"
HTTP/1.1 200 OK
Content-Type: application/json
Transfer-Encoding: chunked
[
{
"path" : "http:\/\/hoopbar:14000\/user\/babu\/data.txt"
"isDir" : false,
"len" : 966,
"owner" : "babu",
"group" : "supergroup",
"permission" : "-rw-r--r--",
"accessTime" : 1310671662423,
"modificationTime" : 1310671662423,
"blockSize" : 67108864,
"replication" : 3
}
]
$
更多操作可以看这里:Hoop HTTP REST API
获取Hoop
Hoop使用的是Apache License 2.0 发布,你可以在github上获取到它的源码(http://github.com/cloudera/hoop)这里(http://cloudera.github.com/hoop.)还有各种相关的安装使用教程。
来源:http://www.nosqlwiki.com/7-hoophadoop-hdfs-over-http
分享到:
相关推荐
基于restful技术对HADOOP进行文件操作
带箍最终 HulaHoop 代码(Sparkfun Pro Micro + LPD8806) 感谢 Philihp 提供的基本代码和说明: ://philihp.com/blog/2011/diy-led-hula-hoop/ 我只是将代码修改为: 使用arduino的内置上拉电阻添加效果添加颜色我...
Hoop是一个简单的应用程序,可帮助您考虑每天照顾自己。 屏幕截图: 使用的技术: HTML CSS Node.js 表示 React 物化 入门: Heroku => Trello板=> ERD => [ERD]( 线框=> 下一步: 重构健康评分指标。 ...
下图显示了改进的Ball and Hoop模型。 除了经典的阻尼振荡任务外,它还允许执行一些更具挑战性的任务,例如Loop The Loop任务。 有关更多详细信息,请参见我们的论文,其中详细描述了两个此类任务[1]。 请记住,该...
hoop-distro-0.1.0-SNAPSHOT.jar hdfs 的http web 控制台 hoop的东西 你们懂得 我花了好久才编译成功的 所以希望大家能给点辛苦分
hoop stress
hoop api 加速 ace 定时器 该方法可用于ace 定时器的加速。
[成都]某城山地别墅规划及建筑方案文本(HOOP 美国某设计院设计) 总用地面积:217258m2 总建筑面积:261152m2 住宅面积:250329m2 会所面积:1363m2 商业面积:7245m2 幼儿园面积:2215m2 容积率:1.2 建筑密度:28% ...
Dunk Hoop 2 扣篮2 支持Unity版本5.6.6f2及以上 描述 移动篮圈并制作完美的 Swish Chaine!令人上瘾的 Swish Up 是一种全新的创新篮球游戏概念。 特征 • 上手容易,精通难 • 多种球型 • 无尽的游戏和关卡模式游戏...
学习大数据 的处理,时代的趋势,hadoop是绕不过去的
旅游规划-宜春仰山国际温泉禅修中心-HOOP171页.pdf
Hoop Smash 200 Levels 篮筐粉碎200关Unity粉碎圆圈的游戏项目源码C# 描述 Hoop Smash 200 Levels 是一款非常有趣且令人满意的一键街机游戏!点击以用球击打地板并瞄准薄弱区域。您一次打破的篮圈越多,您获得的积分...
箍 项目设置 npm install 编译和热重装以进行开发 npm run serve 编译并最小化生产 npm run build 整理和修复文件 npm run lint 自定义配置 请参阅。
。。。
。。。
为示例index.js创建一个.js文件index.js const Hoop = require ( 'hoopdb' )const path = require ( 'path' )let db = new Hoop ( path . join ( __dirname , "db" ) )async function main ( ){ await db . connect ...
Matlab GUI退出代码篮球射手9000 41013机器人-作业2 贡献者: 托马斯·哈里森(12876785) 普拉纳夫·辛哈尔(12988414) 概述 该项目旨在使用KUKA LBRIIWAR800在篮筐旁投篮。 所有代码均基于MATLAB。...
hoophok资源免费下载
该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何棉绒错误。...
谈青少年使用React和Webpack的Urban Dictionary客户端安装安装 克隆项目: $ git clone git@github.com:hoop33/talk-teen.git$ cd talk-teen运行NPM安装: $ npm install获取 API密钥运行应用程序,将mashape键设置...