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

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

作者头像
Maynor
发布于 2021-12-06 11:42:54
发布于 2021-12-06 11:42:54
1.2K00
代码可运行
举报
运行总次数: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
运行
AI代码解释
复制
     hadoop.proxyuser.#HTTPFSUSER#.hosts  
     httpfs-host.foo.com 
      
     hadoop.proxyuser.#HTTPFSUSER#.groups  
     * 

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

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
✨[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/12/06
2.9K0
✨[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
[hadoop3.x]HDFS存储类型和存储策略(五)概述
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/12/06
1.6K0
[hadoop3.x]HDFS存储类型和存储策略(五)概述
Hadoop webHDFS设置和使用说明
namenode的hdfs-site.xml是必须将dfs.webhdfs.enabled属性设置为true,否则就不能使用webhdfs的LISTSTATUS、LISTFILESTATUS等需要列出文件、文件夹状态的命令,因为这些信息都是由namenode来保存的。
星哥玩云
2022/07/01
2.5K0
✨[hadoop3.x]新一代的存储格式Apache Arrow(四)
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/12/06
5020
✨[hadoop3.x]新一代的存储格式Apache Arrow(四)
Hadoop开启WebHDFS服务及测试
WebHDFS观念是基于HTTP操作,比如GET、PUT、POST和DELETE。像OPEN、GETFILESTATUS、LISTSTATUS的操作是使用HTTP GET,其它的像CREAT、MKDIRS、RENAME、SETPERMISSION是依赖于HTTP PUT类型。 APPEND操作时基于HTTP POST类型,然而,DELETE是使用HTTP DELETE。
星哥玩云
2022/07/03
8760
如何在集群外节点跨网段向HDFS写数据
Fayson想了想这个问题其实在各个环境是都可能碰到的,于是在这篇文章给大家系统介绍一下。
Fayson
2018/03/29
2.8K0
如何在集群外节点跨网段向HDFS写数据
[喵咪大数据]HUE大数据管理工具
日常的大数据使用中经常是在服务器命名行中进行操作,可视化功能仅仅依靠着各个组件自带的网页进行,那么有没有一个可以结合大家能在一个网页上的管理工具呢?答案是肯定的,今天就和大家一起来探索大数据管理工具H
喵了个咪233
2018/03/02
2.4K2
[喵咪大数据]HUE大数据管理工具
安装hue-3.11.0
1) 配置HDFS HttpFS和WebHDFS 如果HDFS是HA方式部署的,则只能使用HttpFS,而不能用WebHDFS。 2) 安装依赖: apr-iconv-1.2.1 confuse-3.0 apr-util-1.5.4 libpng-1.6.26 apr-1.5.2  expat-2.2.0 pcre-8.38 libxml2-devel libxslt-devel sqlite-devel 。。。。。。 3) 编译安装Hue 解压Hue安装包,然后执行 make install PREFIX=/usr/local 进行安装! 可以考虑修改下Makefile.vars.priv中的INSTALL_DIR值为$(PREFIX),而不是默认的$(PREFIX)/hue, 这样改为执行: make install PREFIX=/usr/local/hue-3.11.0 带上版本号是个好习惯,安装好后再建一个软链接,如:ln -s /usr/local/hue-3.11.0 /usr/local/hue。 编译安装过程中最常遇到的是缺乏依赖库,只需要按提示进行补充然后重复继续即可。 4) 修改desktop/conf/hue.ini A) [desktop] I) 为secret_key指定一个值,如ABC123,可以不指定,但Hue Web将不能保持会话。 II) 修改http_port为Web端口,如80或8080等。 III) 建议time_zone为北京时区Asia/Shanghai B ) [[hdfs_clusters]] I) 修改fs_defaultfs的值为core-site.xml中的fs.defaultFS的值 II) logical_name值HDFS集群名 III) webhdfs_url值为http://$host:14000/webhdfs/v1,其中“$host”值需为提供HttpFS服务的IP或主机名 IV) 修改hadoop_conf_dir的值为hadoop配置目录路径 C) [[yarn_clusters]] I) 修改resourcemanager_host值为主ResourceManager的IP地址(默认为8032端口所在地址), 注意不能为备ResourceManager的IP,原因是备ResourceManager不会打开端口8032。 II) 修改logical_name值为集群名。 III) 修改resourcemanager_api_url的值,将localhost替换成ResourceManager的8088端口地址。 D) [hbase] I) 修改hbase_conf_dir为HBase的配置目录路径 II) 修改thrift_transport为HBase Thrift2 Server采用的Transport,两者必须一致。 III) 注意截止hue-3.11.0版本,只支持HBase ThriftServer,而不支持HBase Thrift2Server 因此hbase_clusters的值要配置指向ThriftServer,其中Cluster可以为其它自定义值,只是为在Web上显示, Cluster后面的值必须为HBase ThriftServer的服务地址和端口。 如果需要同时运行HBase ThriftServer和HBase Thrift2Server,请为两者指定不同的服务端口和信息端口。 E) [beeswax] 修改hive_conf_dir为Hive的配置目录路径。 5) 启动Hue 进入Hue的build/env/bin目录,然后执行supervisor即可启动Hue服务。 6) 打开Web 假设Hue安装在192.168.1.22,服务端口号为8080,则只需要在浏览器中输入:http://192.168.1.22:8080即可进入Hue Web界面。 如果是第一次运行,则必须先创建好管理员帐号才能进入。 如果遇到错误,则可以检查Hue的错误日志文件error.log来了解是什么错误。 Hue ERROR日志: 1) Failed to obtain user group information: org.apache.hadoop.security.authorize.AuthorizationException is not allowed to impersonate (error 403) 一般是因为core-site.xml或httpfs-site.xml没配置正确。 /////////////////////
一见
2018/08/02
1.1K0
Hue集成HDFS
相信大家在看了《Hue的安装,配置,编译》之后,都已经成功把Hue安装好了。
大数据梦想家
2021/01/26
1.3K0
Hue集成HDFS
hue介绍系列01
Hue是一个可快速开发和调试Hadoop生态系统各种应用的一个基于浏览器的图形化用户接口。 
Dlimeng
2023/06/29
2830
[hadoop3.x系列]Hadoop常用文件存储格式及BigData File Viewer工具的使用(三)
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/12/06
5990
[hadoop3.x系列]Hadoop常用文件存储格式及BigData File Viewer工具的使用(三)
Apache Zeppelin 中 HDFS文件系统 解释器
概述 Hadoop文件系统是hadoop项目的分布式,容错文件系统的一部分,通常用作Hadoop MapReduce和Apache Spark或Alluxio等底层文件系统等分布式处理引擎的存储
片刻
2018/01/05
1K0
Hadoop数据分析平台实战——020Hadoop Shell命令(初学跳过)离线数据分析平台实战——020Hadoop Shell命令(可跳过)
离线数据分析平台实战——020Hadoop Shell命令(可跳过) Hadoop Shell命令简单描述 Hadoop的Shell命令主要分为两类: 一类是启动命令 一类是控制/操作命令(hdfs+mapred+yarn) 其中启动命令位于sbin目录下面, 控制/操作命令主要位于bin目录下面 其实最终的启动命令也是调用控制命令来进行集群服务的启动,区别在于启动命令中需要使用ssh的相关命令来控制其他机器启动服务, 而控制/操作命令主要是直接调用hadoop提供的服务类接口。 Hadoop配置信
Albert陈凯
2018/04/08
1.2K0
Hadoop数据分析平台实战——020Hadoop Shell命令(初学跳过)离线数据分析平台实战——020Hadoop Shell命令(可跳过)
[hadoop3.x]HDFS存储策略和冷热温三阶段数据存储(六)概述
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/10/09
8480
HUE如何访问NameNode HA模式
在配置HUE访问NameNode HA之前,我们先来了解一下WebHDFS与HttpFS:
create17
2019/03/12
2.3K0
Hue安装
Hue和hive等安装不同,需要进行编译安装,所以安装起来较为复杂。具体安装步骤:
数据仓库晨曦
2024/01/08
3920
Hue安装
大数据_Hadoop初体验
root@node1 server$ scp -r /export/server/hadoop root@node2:$PWD
Pandolar
2022/01/04
1K0
大数据_Hadoop初体验
Hadoop3.x 学习笔记
一开始我使用的是在Mac系统下 Docker 中建立了三个环境来搭建的,但是由于HDFS操作的时候是客户端直接联系DataNode来进行数据操作的原理,Mac下不能直接访问到Docker中的容器服务,也不能通过桥接连接,所以我后来改为在VirtualBox中安装了三个Linux虚拟机,才配置通了。
前Thoughtworks-杨焱
2021/12/07
2580
2021年大数据Hadoop(十三):HDFS意想不到的其他功能
在我们实际工作当中,极有可能会遇到将测试集群的数据拷贝到生产环境集群,或者将生产环境集群的数据拷贝到测试集群,那么就需要我们在多个集群之间进行数据的远程拷贝,hadoop自带也有命令可以帮我们实现这个功能。
Lansonli
2021/10/11
6590
Logstash6整合Hadoop-报错与解决方案
196.168.0.79上未在/etc/hosts中配置192.168.0.80的记录
WindCoder
2020/01/21
2.9K1
相关推荐
✨[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验