MAPREDUCE服务 MRS-如何配置HBase文件存储:使用场景

时间:2024-06-19 14:14:15

使用场景

HBase文件存储模块(HBase FileStream,简称HFS)是HBase的独立模块,它作为对HBase与HDFS接口的封装,应用在 MRS 的上层应用,为上层应用提供文件的存储、读取、删除等功能。

在Hadoop生态系统中,无论是HDFS,还是HBase,在面对海量文件存储的时候,在某些场景下,都会存在一些很难解决的问题:

  • 如果把海量小文件直接保存在HDFS中,会给NameNode带来极大的压力。
  • 由于HBase接口以及内部机制的原因,一些较大的文件也不适合直接保存到HBase中。

HFS的出现,就是为了解决需要在Hadoop中存储海量小文件,同时也要存储一些大文件的混合场景。简单来说,就是在HBase表中,需要存放大量的小文件(10MB以下),同时又需要存放一些比较大的文件(10MB以上)。

HFS为以上场景提供了统一的操作接口,这些操作接口与HBase的函数接口类似。必须在HBase的配置参数“hbase.coprocessor.master.classes”中增加一个值:“org.apache.hadoop.hbase.filestream.coprocessor.FileStreamMasterObserver”

  • 如果只有小文件,确定不会有大文件的场景下,建议使用HBase的原始接口进行操作。
  • HFS接口需要同时对HBase和HDFS进行操作,所以客户端用户需要同时拥有这两个组件的操作权限。
  • 直接存放在HDFS中的大文件,HFS在存储时会加入一些元数据信息,所以存储的文件不是直接等于原文件的。不能直接从HDFS中移动出来使用,而需要用HFS的接口进行读取。
  • 使用HFS接口存储在HDFS中的数据,暂不支持备份与容灾。
support.huaweicloud.com/devg-mrs/mrs_06_0036.html