欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座

程序员文章站 2023-01-05 21:33:28
随着全球数据呈爆发式增长,基于海量数据的挖掘和分析,为用户带来了巨大的商业价值。源于开源平台的ApacheHadoop,允许使用简单的编程模型跨计算机集群分布式处理大型数据集,成为大数据时代最受欢迎的技术之一。...

随着全球数据呈爆发式增长,基于海量数据的挖掘和分析,为用户带来了巨大的商业价值。源于开源平台的apache hadoop,允许使用简单的编程模型跨计算机集群分布式处理大型数据集,成为大数据时代最受欢迎的技术之一。

01 性能瓶颈

hdfs分布式文件系统作为hadoop的三大组件之一,是分布式计算中数据存储管理的基础。但是在hdfs传统架构下,hadoop扩展性受到了一定限制,容易出现性能瓶颈等问题。

XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座

图片来源:hadoop官方文档

例如,由于hdfs中每个文件、目录和数据块的元数据信息(大约150字节)必须存储在namenode的内存中,这也就意味着对于一个拥有大量文件的超大集群来说,内存将成为限制系统横向扩展的瓶颈。

同时,作为一个可扩展的文件系统,单个集群中支持数千个节点。在单个命名空间中datanode可以扩展的很好,但是namenode并不能在单个命名空间进行横向扩展。通常情况下,hdfs集群的性能瓶颈出现在单个namenode上。

虽然,在hadoop 2.x发行版中引入了联邦hdfs功能,允许系统通过添加多个namenode来实现扩展。但是,系统管理员需要维护多个namenodes和负载均衡服务,这又无形中增加了管理成本。

此外,大数据平台建设和应用中还亟待解决以下问题:

▪ 在传统的apache hadoop集群系统中,计算和存储资源紧密耦合。当存储空间或计算资源不足时,只能同时对两者进行扩容,不仅扩容不方便,且经济效率较低;

▪ hadoop的数据备份方案昂贵,且难以实现;

▪ 不同部门、平台各自建大数据系统,数据不共享,导致大数据计算平台碎片化,逐渐形成大数据烟囱。

02 xsky hdfs client

为了解决上述问题,业界一般采用对象存储来作为hadoop的后端存储,解决上面hdfs的各种问题,构建数据湖解决方案。

hadoop社区也开发了s3a连接器,用来对接标准的s3对象存储。但是,标准的s3a连接器的性能一般比hdfs要差很多,而且不支持追加写,因此只能支持部分对性能不高的业务,或者作为hadoop分层存储使用。

为此,xsky开发了基于对象存储xeos的专用hadoop hdfs高性能客户端xsky hdfs client。

XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座

xsky hdfs client和s3a架构对比

通过xsky hdfs client,hadoop应用可以访问存储在xeos中的所有数据,这就避免了传统的hadoop应用在进行数据分析前,还要将数据由业务存储移动到分析存储hdfs中。

xsky hdfs client为hadoop应用提供了标准的 hadoop 文件系统操作接口。在每个计算节点上,hadoop应用都将使用xsky hdfs client (jar) 执行 hadoop文件系统的操作,xsky hdfs client屏蔽了hadoop应用与xeos集群交互的复杂性。

相比于原生hadoop s3a对接对象存储的方式,xsky hdfs client可以直接访问存储集群的osd,io路径更短;同时,xsky hdfs client具有追加写的功能,可以匹配hadoop文件系统对追加写的需求。

xsky内部对在业界最广泛应用的hadoop商业发行版本之一cloudera cdh的testdfsio测试中显示,部署了xsky hdfs client的 xeos集群写性能超过采用remote hdfs系统的94%,读性能超过77%(两种测试硬件配置一样,节点数都是8节点,其中存储和datanode都是3节点)。

XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座
XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座

wordcount测试中,性能瓶颈主要在cdh计算集群的cpu使用率,两组测试环境计算集群的cpu均达到了100%。hdfs对1tb数据进行wordcount计算的时间消耗为46分22秒,而xeos的时间消耗为47分20秒,相差不大。

XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座

hbase写测试中,hdfs对30,000,000条数据进行写入时间消耗为2分23秒,而xeos的时间消耗为2分55秒,与hdfs比相差30秒左右。但是从hbase统计的iops来看,hdfs和xeos相差不大。

XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座
XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座

hbase读测试,hdfs对30,000,000条数据进行读取时间消耗为47秒,而xeos的时间消耗为46秒,几乎没有差别。但是从hbase统计的iops来看, xeos明显高于hdfs。

XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座
XSKY打造Hadoop HDFS高性能客户端,构筑数据湖理想底座

03客户收益

▪ 计算存储分离部署,按需扩容,大幅降低tco;

▪ 更加优化的性能,以及企业级存储特性;

▪ 适用于大数据平台的容灾备份;

▪ 同时支持生产业务、hadoop、mpp、ai等计算业务,解决数据孤岛问题;

▪ 一套存储系统,承载多个异构平台的数据整合,加速数据流动;

▪ nfs、hdfs、s3三种协议互通,三种协议来源的数据都可以统一进行in-place分析,分析结果可以通过s3实时发布。

xsky目前已经实现块、文件、对象、hdfs支持,为企业用户构建了真正统一的数据存储平台,可实现用户从核心生产到海量数据分析的最大化数据整合,助力构筑企业数据湖理想底座!

相关标签: 大数据技术