Hadoop HDFS 的 HttpFS
参考
- Hadoop权威指南 第3章中3.4节
背景
要写一个操作HDFS的web后台(文件CRUD),虽然可以直接使用HDFS提供的FileSystem
类然后通过get
方法获取到一个DistributedFileSystem
(假设提供的文件url的模式是hdfs://
开头)的实例来操作HDFS,但是这种方法有个限制就是调用方必须能和HDFS集群中的所有主机通信。然后这个要求有时并不能满足,比如HDFS集群部署在一个内部隔离网络中,而WEB服务器部署在另外一个网络中,虽然namenode做了NAT可以被外部网络访问,但如前所述这是不够的。
WebHDFS
WebHDFS提供了访问HDFS的RESTful接口,在自己安装的Hadoop 2.6中是默认启动的。它和Web管理界面同在namenode的50070端口下,比如可以通过如下地址来列出HDFS根目录的文件:
http://10.214.208.138:50070/webhdfs/v1/?op=LISTSTATUS
{"FileStatuses":{"FileStatus":[
{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":16389,"group":"supergroup","length":0,"modificationTime":1438583475410,"owner":"ubuntu","pathSuffix":"user","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},
{"accessTime":0,"blockSize":0,"childrenNum":0,"fileId":16387,"group":"supergroup","length":0,"modificationTime":1438583448451,"owner":"ubuntu","pathSuffix":"users","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},
{"accessTime":0,"blockSize":0,"childrenNum":0,"fileId":16391,"group":"supergroup","length":0,"modificationTime":1438584555313,"owner":"ubuntu","pathSuffix":"yellowbook","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"}
]}}
通过将HDFS文件路径的模式部分换成webhdfs可以获得WebHdfsFileSystem
,但是使用它还是需要跟集群不同机器进行交互的。
HttpFS
HttpFS本质上是一个代理服务,它部署在能够完全访问HDFS集群的网络内,对于文件CURD的操作全部提交给HttpFS服务,然后由它去更HDFS集群交互,所以客户端不需要能够访问所有HDFS主机。HttpFS服务提供的操作接口是HTTP协议的RESTful接口,但是官方没有提供现成的Java客户端。HttpFS服务默认没有启动,可以使用在hadoop-2.6.0/sbin
中提供的httpfs.sh
脚本来启动。HttpFS相关的文件在hadoop-2.6.0/share/hadoop/httpfs
目录下。
Hadoop HDFS 的 HttpFS的更多相关文章
- Hadoop HDFS 用户指南
This document is a starting point for users working with Hadoop Distributed File System (HDFS) eithe ...
- Hadoop HDFS负载均衡
Hadoop HDFS负载均衡 转载请注明出处:http://www.cnblogs.com/BYRans/ Hadoop HDFS Hadoop 分布式文件系统(Hadoop Distributed ...
- Hive:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /mydir is exceeded: quota=100000 file count=100001
集群中遇到了文件个数超出限制的错误: 0)昨天晚上spark 任务突然抛出了异常:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: T ...
- Hadoop程序运行中的Error(1)-Error: org.apache.hadoop.hdfs.BlockMissingException
15/03/18 09:59:21 INFO mapreduce.Job: Task Id : attempt_1426641074924_0002_m_000000_2, Status : FAIL ...
- Hadoop HDFS编程 API入门系列之HDFS_HA(五)
不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs3; import java.io.FileInputStream;import ...
- Hadoop HDFS编程 API入门系列之简单综合版本1(四)
不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs4; import java.io.IOException; import ja ...
- [转]hadoop hdfs常用命令
FROM : http://www.2cto.com/database/201303/198460.html hadoop hdfs常用命令 hadoop常用命令: hadoop fs 查看H ...
- org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hive/warehouse/page_view. Name node is in safe mode
FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.ipc.RemoteExceptio ...
- Hadoop HDFS文件常用操作及注意事项
Hadoop HDFS文件常用操作及注意事项 1.Copy a file from the local file system to HDFS The srcFile variable needs t ...
随机推荐
- nginx官方文档 之 http负载均衡 学习笔记
一.负载均衡 算法 大致可以分两类: (1)不能保证用户的每一次请求都通过负载均衡到达同一服务器. (2)可保证用户的每一次请求都通过负载均衡到达同一服务器. 第二类的应用场景: 1.如果服务器有缓存 ...
- Smart/400开发上手3: 练习实践
练习题 在2006年1月1日之前入职且在职的营销员,给予年资补贴2000元: 符合以上条件的,再按以下标准一次性发放职级补贴: 职级代码 简称 补偿金额 A1 AD 6000 B1 SBM 5000 ...
- 解决Navicat Premium终端操作mysql ONLY_FULL_GROUP_BY错误
解决navicate终端操作mysql ONLY_FULL_GROUP_BY错误 问题描述: [Err] 1055 - Expression #1 of SELECT list is not ...
- js获取客户端ip地址
<script type="text/javascript" src="http://www.coding123.net/getip.ashx?js=1" ...
- python使用requests请求的数据乱码
1.首先进入目标网站,浏览器查看源码,找到head标签下面的meta标签,一般meta标签不止一个,我们只需找到charset属性里面的值即可 2.requests请求成功时,设置它的编码,代码如下 ...
- 如何测试你给客户端app开的接口
这里介绍一款工具用于测试后台给客户端开的接口. 采用http或者https 采用表单或者json格式 这款工具之前是谷歌浏览器的一款插件,后来出现了各个平台的客户端.非常实用. 名叫postman 官 ...
- js便签笔记(10) - 分享:json2.js源码解读笔记
1. 如何理解“json” 首先应该意识到,json是一种数据转换格式,既然是个“格式”,就是个抽象的东西.它不是js对象,也不是字符串,它只是一种格式,一种规定而已. 这个格式规定了如何将js对象转 ...
- js便签笔记(8)——js加载XML字符串或文件
1. 加载XML文件 方法1:ajax方式.代码如下: var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObje ...
- mysql 之 主从同步(单向同步和双向同步)
一. 实验环境部署 主服务器(MySQL-01) IP: 192.168.8.241 端口3306 ,操作系统:Centos6.5 64位 从服务器(MySQL-02) IP: 192.168. ...
- 厌倦了“正在输入…”的客服对话,是时候pick视频客服了
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 什么?! ...