首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

6、HDFS的HttpFS-代理服务Hadoop系列文章目录一、HttpFS介绍二、HttpFS配置三、HttpFS配置验证四、HttpFS与WebHDFS的比较

  • 23-09-04 16:00
  • 4549
  • 8218
blog.csdn.net

Hadoop系列文章目录

1、hadoop3.1.4简单介绍及部署、简单验证
2、HDFS操作 - shell客户端
3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java
4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及HA环境的配置)
5、HDFS API的RESTful风格–WebHDFS
6、HDFS的HttpFS-代理服务
7、大数据中常见的文件存储格式以及hadoop中支持的压缩算法
8、HDFS内存存储策略支持和“冷热温”存储
9、hadoop高可用HA集群部署及三种方式验证
10、HDFS小文件解决方案–Archive
11、hadoop环境下的Sequence File的读写与合并
12、HDFS Trash垃圾桶回收介绍与示例
13、HDFS Snapshot快照
14、HDFS 透明加密KMS
15、MapReduce介绍及wordcount
16、MapReduce的基本用法示例-自定义序列化、排序、分区、分组和topN
17、MapReduce的分区Partition介绍
18、MapReduce的计数器与通过MapReduce读取/写入数据库示例
19、Join操作map side join 和 reduce side join
20、MapReduce 工作流介绍
21、MapReduce读写SequenceFile、MapFile、ORCFile和ParquetFile文件
22、MapReduce使用Gzip压缩、Snappy压缩和Lzo压缩算法写文件和读取相应的文件
23、hadoop集群中yarn运行mapreduce的内存、CPU分配调度计算与优化


目录

  • Hadoop系列文章目录
  • 一、HttpFS介绍
    • 1、HttpFS概述
  • 二、HttpFS配置
    • 1、概述
    • 2、java api 访问示例
    • 3、本环境配置示例
      • 1)、修改配置文件
      • 2)、同步配置文件并重启
      • 3)、启动HttpFS
  • 三、HttpFS配置验证
    • 1、验证
    • 2、使用示例
  • 四、HttpFS与WebHDFS的比较
    • 1、WebHDFS
    • 2、HttpFS


本文介绍HttpFS的使用。
可以与前一篇文章一起阅读。HDFS API的RESTful风格–WebHDFS
本文分为四部分,即介绍、配置、验证与和WebHDFS的比较。
本文阅读前提是已经部署好hadoop环境,具体部署参考hadoop3.1.4简单介绍及部署、简单验证

一、HttpFS介绍

1、HttpFS概述

  • HttpFS 是一个提供RESTful 接口的网关的服务器,该网关支持所有HDFS文件系统操作
  • 对于文件CURD的操作全部提交给HttpFS服务进行中转,然后由HttpFS去跟HDFS集群交互
  • HttpFS是一个独立于HDFS的服务,若使用需要手动安装。本质上是一个代理服务
  • HttpFS本身是Java Web应用程序。使用内置的Jetty服务器对外提供服务
  • HttpFS默认端口号为14000
    在这里插入图片描述

二、HttpFS配置

1、概述

配置允许通过代理访问的主机节点、用户所属组。core-site.xml配置文件。
服务端需要在NameNode和ResourceManager的core-site.xml中进行代理权限相关配置。 对于每一个superUser用户,配置参数:
在这里插入图片描述
对于每个superUser用户,hosts必须进行配置,而groups和users至少需要配置一个。
这几个配置项的值都可以使用*来表示允许所有的主机/用户组/用户

<property>
    <name>hadoop.proxyuser.userA.hostsname>
    <value>*value>
property>
<property>
    <name>hadoop.proxyuser.userA.usersname>
    <value>user1,user2value>
property>
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2、java api 访问示例

// 创建superUser用户
    UserGroupInformation superUser = UserGroupInformation.getCurrentUser();
    //创建proxyUser用户
    UserGroupInformation proxyUgi = UserGroupInformation.createProxyUser(“proxyUser”, superUser);
    // 使用proxyUser用户访问集群
    proxyUgi.doAs(new PrivilegedExceptionAction<Void>() {
        @Override
        public Void run() throws Exception {
            // 使用proxy用户访问hdfs
            FileSystem fs = FileSystem.get(conf);
            fs.mkdirs(new Path(“/proxyUserDir”));
            // 使用proxy用户提交mr作业
            JobClient jc = new JobClient(conf);
         
            jc.submitJob(conf);
         
              return null;
      }
    });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

3、本环境配置示例

alanchan用户是本hadoop集群的部署用户。

1)、修改配置文件

<property>
    <name>hadoop.proxyuser.alanchan.hostsname>
    <value>*value>
property>
<property>
    <name>hadoop.proxyuser.alanchan.groupsname>
    <value>*value>
property>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2)、同步配置文件并重启

同步配置文件到集群中其他节点,并重启HDFS集群

cd /usr/local/bigdata/hadoop-3.1.4/etc/hadoop

scp core-site.xml server2:/usr/local/bigdata/hadoop-3.1.4/etc/hadoop/
scp core-site.xml server3:/usr/local/bigdata/hadoop-3.1.4/etc/hadoop/
scp core-site.xml server4:/usr/local/bigdata/hadoop-3.1.4/etc/hadoop/

cd /usr/local/bigdata/hadoop-3.1.4/sbin
start-all.sh
stop-all.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3)、启动HttpFS

# 启动
hdfs --daemon start httpfs
# 关闭
hdfs --daemon stop httpfs

[alanchan@server1 sbin]$ hdfs --daemon start httpfs
WARNING: /usr/local/bigdata/hadoop-3.1.4/temp does not exist. Creating.
# 验证进程
[alanchan@server1 sbin]$ jps
28276 NameNode
30712 Jps
28872 ResourceManager
30460 HttpFSServerWebServer

# HttpFSServerWebServer该进程为HttpFS进程
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

三、HttpFS配置验证

1、验证

通过查看进程是否启动以及通过页面是否可以访问、使用来验证配置正确与否。

[alanchan@server1 sbin]$ jps
30460 HttpFSServerWebServer
  • 1
  • 2

访问HttpFS服务
在这里插入图片描述
http://server1:14000/static/index.html
在这里插入图片描述
HttpFS访问指定用户身份
http://server1:14000/webhdfs/v1?op=LISTSTATUS
在这里插入图片描述
http://server1:14000/webhdfs/v1?user.name=alanchan&op=LISTSTATUS
user.name=alanchan,是core-site.xml中配置的用户
在这里插入图片描述
通过以上的命令行验证以及页面验证,可发现如预期,则表明配置正确。

2、使用示例

查看文件及其文件夹,本示例是查看根目录下,对应的命令:hadoop fs -ls /test
http://server1:14000/webhdfs/v1/test?user.name=alanchan&op=LISTSTATUS
test是路径,其目录下有2个文件
在这里插入图片描述

四、HttpFS与WebHDFS的比较

1、WebHDFS

  • HDFS内置、默认开启
  • 基于REST的HDFS API
  • 重定向到资源所在的datanode
  • 客户端会和nn、dn交互
  • 使用内置的WebHDFS REST API操作访问
    http://server1:9870/webhdfs/v1/?op=LISTSTATUS
    端口由dfs.namenode.http-address指定。默认值9870

2、HttpFS

  • 独立服务,手动开启
  • 基于REST的HDFS API
  • 数据先传输到该httpfs server,再由其传输到client
  • 客户端不跟hdfs直接交互
  • 使用HttpFS web Server 服务操作访问
    http://server1:14000/webhdfs/v1?user.name=alanchan&op=LISTSTATUS
    端口:14000

外部系统使用一般推荐HttpFS,不过取决于实际的应用环境情况。

注:本文转载自blog.csdn.net的一瓢一瓢的饮 alanchan的文章"https://blog.csdn.net/chenwewi520feng/article/details/130336221"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top