8000字讲透OBSA原理与应用实践

OBSA项目围绕华为云OBS构建大数据和AI生态,包括hadoop-obs和flink-obs子项目。本文详述OBS存储服务的原理,如认证鉴权、写入与读取流程,并提供实践建议,如缓存策略、多段上传和并发读取优化。此外,还探讨了OBS在大数据场景中的带宽评估和存算分离解决方案。
摘要由CSDN通过智能技术生成

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

**摘要:**OBSA项目是围绕OBS建立的大数据和AI生态,其在不断的发展和完善中,目前有如下子项目:hadoop-obs项目和flink-obs项目。

文章作者:存储服务产品部开发者支持团队

OBS存储服务概述

华为云OBS存储服务提供了“对象存储服务”和”并行文件系统服务”。

1.对象存储服务:提供传统的对象存储语义。

2.并行文件系统服务:简称文件桶,基于对象存储服务提供了一种经过优化的高性能文件系统,其实现了追加写,文件截断,目录重命名原子操作等一系列特性,并和对象存储服务一样提供了毫秒级别访问时延,TB级别带宽和百万级别的IOPS,因此非常适用于大数据分析等场景,华为云的MRS,DLI等大数据分析服务均已支持OBS服务作为其底层的存储服务。

OBSA项目概述

1.OBSA项目是围绕OBS建立的大数据和AI生态,其在不断的发展和完善中,目前有如下子项目:

(1)hadoop-obs项目:基于华为云OBS存储服务实现了hadoop文件系统抽象;(2)flink-obs项目:基于华为云OBS存储服务实现了Flink文件系统抽象;

2.OBSA官方文档:https://support.huaweicloud.com/bestpractice-obs/obs_05_1501.html

3.OBSA社区地址:https://github.com/huaweicloud/obsa-hdfs

hadoop-obs原理和实践建议

简述

1.hadoop-obs项目基于OBS并行文件系统服务/对象存储服务实现了hadoop的FileSystem抽象(即HDFS协议)OBSFileSystem,可以像使用 HDFS分布式文件系统一样访问OBS中的数据,实现大数据计算引擎Spark、MapReduce、Hive等与OBS存储服务的对接,为大数据计算提供“数据湖”存储。

2.OBSFileSystem继承实现了FileSystem抽象类,适配为对OBS http/https rest API接口的访问,下述章节将详细剖析OBSFileSystem的实现和实践。

3.hadoop-obs以jar包的形式对外发布,hadoop-huaweicloud-x.x.x-hw-y.jar包含义:前三位x.x.x为配套hadoop版本号;最后一位y为hadoop-obs版本号;如:hadoop-huaweicloud-3.1.1-hw-40.jar,3.1.1是配套hadoop版本号,40是hadoop-obs的版本号。

认证和鉴权机制

在了解OBSFileSystem的认证和鉴权机制之前,我们先对OBS服务的认证和鉴权机制做一个简单的介绍。其主要支持两种认证鉴权机制:

1.桶策略:桶拥有者通过桶策略可为IAM用户或其他帐号授权桶及桶内对象精确的操作权限,桶策略有20KB的大小限制,超出此限制可以选择IAM策略

2.IAM策略:IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制

不管上述哪种机制,访问OBS时均需要IAM用户对应的永久aksk或是临时aksk(其包含ak,sk,securityToken三部分,其是有时效限制的,一般为24小时)

在通过OBSFileSystem访问OBS时首先需要配置永久aksk或是临时aksk,OBSFileSystem支持如下几种方式获取aksk:(优先级由高到低排序)

1.从core-site配置文件中获取:通过fs.obs.access.key和fs.obs.secret.key和fs.obs.session.token配置项获取。其支持hadoop的CredentialProvider机制,即通过CredentialProvider机制对aksk进行保护,避免aksk的明文暴露,注意不能将其保存在OBSFileSystem存储系统的路径上因为循环依赖问题https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html

附:关于CredentialProvider机制相关配置项:

hadoop.security.credential.provider.path:存放机密信息的keystore文件路径,例如aksk可以存储在其中

hadoop.security.credential.clear-text-fallback:当从keystore文件中获取不到机密信息时回落到配置项的明文中去获取hadoop.security.credstore.java-keystore-provider.password-file:keystore被加密时,其密码文件的路径

2.从URL中获取:其格式为obs://{ak}:{sk}@

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值