使用 HDFS 协议访问对象存储服务
背景介绍
原生对象存储服务的索引是扁平化的组织形式,在传统文件语义下的 List 和 Rename 操作性能表现上存在短板。腾讯云对象存储服务 COS 通过元数据加速功能,为上层计算业务提供了等效于 HDFS 协议的操作接口和操作性能。
(一)什么是元数据加速器?
元数据加速功能是由腾讯云对象存储(Cloud Object Storage,COS)服务提供的高性能文件系统功能。
元数据加速功能底层采用了云 HDFS 卓越的元数据管理功能,支持用户通过文件系统语义访问对象存储服务,系统设计指标可以达到2.4Gb/s带宽、10万级 QPS 以及 ms 级延迟。存储桶在开启元数据加速功能后,可以广泛应用于大数据、高性能计算、机器学习、AI 等场景。有关元数据加速的详细介绍,请参考元数据加速器。
(二)使用 HDFS 协议访问的优势是什么?
以往基于对象存储 COS 的大数据访问主要采用 Hadoop-COS 工具来访问。Hadoop-COS 工具内部将 HCFS 接口适配为对象存储的 Restful 接口,从而对对象存储上的数据进行访问。由于对象存储和文件系统在元数据组织方式上的差异,导致元数据操作性能上存在性能差异,从而影响了大数据分析性能。开启元数据加速器的 Bucket,完全兼容 HDFS 协议,可以采用原生的 HDFS 接口直接访问,除了省去了 HDFS 协议到对象协议的转换开销外,更能提供原生 HDFS 的一些功能,如目录原子高效 Rename,文件 Atime,Mtime 更新,高效目录 DU 统计,Posix ACL 权限支持等等原生特性。
准备工作
1、创建 COS Bucket,并且开启元数据加速能力。如图所示:

当 Bucket 创建好之后,在存储桶页面,可以看到相关配置,并且可以在控制台进行文件上传下载操作,如Bucket: meta-accelarate-1253960454;

2、创建好之后,点击左侧性能配置页面,点击元数据加速按钮,可以看到元数据加速能力已开启。如果是第一次创建元数据加速存储桶,则需要按照提示进行相应的授权操作,点击授权完成后,将自动开启 HDFS 协议,并且看到默认的 Bucket 挂载点信息,如下图所示:

说明:如果提示未找到对应的 HDFS 文件系统,请点击提交工单联系我们获取帮助。
3、开启 HDFS 协议开关后,需要配置 VPC 访问权限。在 HDFS 权限配置标签页,点击新增权限配置按钮,在 VPC 网络名称列选择计算集群所在的 VPC 网络地址,在节点 IP 地址列,填写 VPC 网段下需要放通的 ip地址或者 ip 段。
访问类型可以选择读写或者只读,配置好后点击保存即可,如下图所示:

HDFS 权限配置与原生 COS 权限体系存在差异。当您使用 HDFS 协议访问时,推荐通过配置 HDFS 权限授权指定 VPC 内机器访问 COS 存储桶,以便获取和原生 HDFS 一致的权限体验。
4、HDFS 协议默认采用原生 POSIX ACL 方式进行鉴权,如果需要使用 Ranger 鉴权,可以在 HDFS 鉴权模式下,选择 Ranger 鉴权模式,配置上 Ranger 相应的地址信息即可。如下图所示:

您可以参考文档 HDFSranger 鉴权,配置 Ranger 服务,通过 Ranger 服务以 HDFS 协议访问 COS。
5、创建好环境后,需要在计算集群配置 core-site.xml ,具体参考文档配置 HDFS 协议配置, 如果您使用的是腾讯云 EMR,则可以直接使用 EMR 的默认配置,无需额外配置。
注意:fs.ofs.region 必须配置,该参数用于指定存储桶所在的 COS 地域,如ap-shanghai。
6、下载 HDFS 协议访问的客户端安装包,请确保安装包的版本在 2.7及其以上。
下载后,讲安装包放置到 Hadoop 集群中每台服务器正确的 classpath 路径下,如 /usr/local/service/hadoop/share/hadoop/common/lib/(根据实际情况防止,不同组件可能放置的位置也不一样),然后重启Yarn,Hive,Presto,Impala 等一些常驻服务。
7、所有环境配置完成后,可以在客户端使用 Hadoop 命令行来查看是否挂载成功,如下图所示:

您也可以登录 COS控制台,查看存储桶文件列表,明确文件和目录是否一致,例如:

通过 HDFS 协议访问 COS
大数据场景下,您可以参考如下步骤以 HDFS 协议访问开启元数据加速能力的存储桶:
1、在 core-stie.xml 中配置 HDFS 协议相关挂载点信息,如准备工作中所示;
2、Hive,MR,Spark 等组件访问存储桶,参考文章 CDH 访问大数据来进行大数据访问;
3、默认情况下,采用原生 POSIX ACL 方式进行鉴权,如果需要使用 Ranger 鉴权,可以参考 Ranger 相关原理和实践访问,参考文档。
— END —
使用 HDFS 协议访问对象存储服务的更多相关文章
- 对象存储服务MinIO安装部署分布式及Spring Boot项目实现文件上传下载
目录 一.MinIO快速入门 1. MinIO简介 2. CentOS7更换成阿里云镜像 3. 安装 3.1 下载 3.2 运行测试 4. 配置脚本执行文件 4.1 创建配置执行文件 4.2 执行 二 ...
- COS对象存储服务的使用
---------------------------------------------------------------------------------------------[版权申明:本 ...
- 对象存储服务(Object Storage Service,简称 OSS)
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.它具有与平台无关的RESTful API接口,能够提供99.99 ...
- 轻量对象存储服务——minio
minio Minio是一个非常轻量的对象存储服务. Github: minio 它本身不支持文件的版本管理.如果有这个需求,可以用 s3git 搭配使用. Github: s3git 安装 mini ...
- swift(Object Storage对象存储服务)(单节点)
# 在部署对象存储服务(swift)之前,你的环境必须包含身份验证服务(keystone); # keystone需要MySQL数据库,Rabbitmq服务,Memcached服务; # 内存:4G ...
- 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询
阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换 最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS.总的来说,比较简单,但是仍然遇到了几个问题,需要总结下. 1.O ...
- FreeNAS 11.0 正式发布,提供 S3 兼容的对象存储服务
FreeNAS 11.0 正式版已发布,该版本带来了新的虚拟化和对象存储功能.FreeNAS 11.0 将 bhyve 虚拟机添加到其受欢迎的 SAN / NAS.Jail 和插件中,让用户可以在 F ...
- 对象存储服务-Minio
Mino 目录 Mino 对象存储服务 Minio 参考 Minio 架构 为什么要用 Minio 存储机制 纠删码 MinIO概念 部署 单机部署: Docker 部署Minio 分布式Minio ...
- 使用MinIO搭建对象存储服务
1.MinIO是什么? MinIO 是一款高性能.分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件.即X86等低成本机器也能够很好的运行MinIO. MinIO与传统的存储和其 ...
随机推荐
- Java 中的编译期常量是什么?使用它又什么风险?
公共静态不可变(public static final )变量也就是我们所说的编译期常量,这里 的 public 可选的.实际上这些变量在编译时会被替换掉,因为编译器知道这些 变量的值,并且知道这些变 ...
- JVM学习思考
毕业以来技术上一直没有太大进步,仔细一想可能是没有做技术分享,我喜欢把学习总结记录在印象笔记中,那么理解的是对是错也就没人能评判一下.为了技术进步,接下来将陆续把一些学习总结迁移到博客园中,欢迎大家多 ...
- 学习SVN03
SVN版本控制系统最佳实践 第1章SVN介绍及应用场景 1.1什么是SVN(Subversion) Svn(subversion)是近年来崛起非常优秀的版本管理工具,与CVS管理工具一样,SVN是 ...
- C++面向对象 - 类的前向声明的用法
C++中的类应当是先定义,然后使用.但在处理相对复杂的问题,比如考虑类的组合时,有可能遇到两个类相互引用的情况,这种情况称为循环依赖. 考虑下面代码: class A { public: void f ...
- spi详解
来源:https://www.sohu.com/a/211324861_468626 1. SPI简介 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围 ...
- 洋桃电子之STM32
1.ARM内核与分类 作者:知乎用户链接:https://www.zhihu.com/question/52915983/answer/258507276来源:知乎著作权归作者所有.商业转载请联系作者 ...
- 安装Backstage.io应用
Backstage介绍 What's Backstage? Backstage is an open platform for building developer portals. Powered ...
- Vue小说阅读器(仿追书神器)
一个vue阅读器项目,目前已升级到2.0,阅读器支持横向分页并滑动翻页(没有动画,需要动画的可以自己设置,增加transitionDuration即可) 技术栈 vue全家桶+mint-ui gith ...
- Mybatis + js 实现下拉列表二级联动
Mybatis + js 实现下拉列表二级联动 学习内容: 一.业务需求 二.实现效果 三.代码实现 1. province_city.jsp 2. TwoController 2. Province ...
- react和react-dom是什么?
使用react开发网页的话,我们难免会下载两个包,一个是react,一个是react-dom,其中react是react的核心代码.react的核心思想是虚拟Dom,其实虚拟Dom改变没有那么复杂,简 ...