前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[hadoop3.x系列]HDFS REST HTTP API的使用(二)HttpFS

[hadoop3.x系列]HDFS REST HTTP API的使用(二)HttpFS

作者头像
Maynor
发布2021-12-06 19:42:54
发布2021-12-06 19:42:54
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

前言

目前博客Hadoop文章大都停留在Hadoop2.x阶段,本系列将依据黑马程序员大数据Hadoop3.x全套教程,对2.x没有的新特性进行补充更新,一键三连加关注,下次不迷路!

历史文章

[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS

HTTPFS概述

l HttpHDFS本质上和WebHDFS是一样的,都是提供HTTP REST API功能,但它们的区别是HttpHDFS是HttpFS是一个独立于HadoopNameNode的服务,它本身就是Java JettyWeb应用程序。

l 因为是可以独立部署的,所以可以对HttpHDFS设置防火墙,而避免NameNode暴露在墙外,对一些安全性要求比较高的系统,HttpHDFS会更好些。

l HttpFS是一种服务器,它提供REST HTTP网关,支持所有HDFS文件系统操作(读和写)。并且它可以与WebhdfsREST HTTPAPI

l HttpFS可用于在运行不同版本Hadoop(克服RPC版本控制问题)的集群之间传输数据,例如使用HadoopDiscreCP。

l HttpFS可用于在防火墙后面的集群上访问HDFS中的数据(HttpFS服务器充当网关,是允许跨越防火墙进入集群的唯一系统)。

l HttpFS可以使用HTTP实用程序(例如curl和wget)和来自Java以外的其他语言的HTTP库Perl来访问HDFS中的数据。

l 这个****Webhdfs****客户端文件系统实现可以使用Hadoop文件系统命令访问HttpFS(hdfs dfs)行工具以及使用Hadoop文件系统JavaAPI的Java应用程序。

l HttpFS内置了支持Hadoop伪身份验证和HTTP、SPNEGO Kerberos和其他可插拔身份验证机制的安全性。它还提供Hadoop代理用户支持。

1.1.1 HTTPFS是如何工作的

l HttpFS是一个独立于HadoopNameNode的服务。

l HttpFS本身就是Java JettyWeb应用程序。

l HttpFS HTTP Web服务API调用是HTTPREST调用,映射到HDFS文件系统操作。例如,使用curl/Unix命令:

$curl ‘http://httpfs-host:14000/webhdfs/v1/user/foo/README.txt?op=OPEN&user.name=foo’ 返回HDFS的内容/user/foo/README.txt档案。 $curl ‘http://httpfs-host:14000/webhdfs/v1/user/foo?op=LISTSTATUS&user.name=foo’ 返回HDFS的内容/user/foo目录中的JSON格式。 $curl ‘http://httpfs-host:14000/webhdfs/v1/user/foo?op=GETTRASHROOT&user.name=foo’ 返回路径/user/foo/.trash,如果/是加密区域,则返回路径。/.Trash/Foo。看见更多细节关于加密区域中的垃圾路径。 $curl -X POST‘http://httpfs-host:14000/webhdfs/v1/user/foo/bar?op=MKDIRS&user.name=foo’ 创建HDFS/user/foo/bar目录。

l HttpFS默认端口号为14000

1.1.2 配置Hadoop

编辑Hadoop的core-site.xml,并将运行HttpFS服务器的Unix用户定义为proxyuser。例如:

代码语言:javascript
代码运行次数:0
运行
复制
     hadoop.proxyuser.#HTTPFSUSER#.hosts  
     httpfs-host.foo.com 
      
     hadoop.proxyuser.#HTTPFSUSER#.groups  
     * 

重要:替换#HTTPFSUSER#使用将启动HttpFS服务器的Unix用户。

例如:

代码语言:javascript
代码运行次数:0
运行
复制
hadoop.proxyuser.root.hosts  
*  
hadoop.proxyuser.root.groups  
*
1.1.3 重启Hadoop

重启Hadoop,并激活代理用户配置

1.1.4 启动HttpFS

hdfs --daemon start httpfs

1.1.5 测试HttpFS工作

http://node1.itcast.cn:14000/webhdfs/v1?user.name=root&op=LISTSTATUS

1.1.6 HTTP默认服务

Name\

Description

/conf

Display configuration properties

/jmx

Java JMX management interface

/logLevel

Get or set log level per class

/logs

Display log files

/stacks

Display JVM stacks

/static/index.html

The static home page

http://node1.itcast.cn:14000/conf?user.name=root

后记

博客主页:https://manor.blog.csdn.net 本文由 manor 原创,首发于 CSDN博客

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/09/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 历史文章
  • HTTPFS概述
    • 1.1.1 HTTPFS是如何工作的
    • 1.1.2 配置Hadoop
    • 1.1.3 重启Hadoop
    • 1.1.4 启动HttpFS
    • 1.1.5 测试HttpFS工作
    • 1.1.6 HTTP默认服务
  • 后记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档