EMR 上的用例 HBase



我阅读了有关 AWS 的文档,但有一点仍然不清楚。

S3 是 EMR 集群的主存储吗?还是数据在 EC2 中,而 S3 只是一个副本?

在文档中:

  • "Amazon EMR 上的 HBase 能够将您的 HBase 数据直接备份到 Amazon Simple Storage Service (Amazon S3)"

  • "在 Amazon EMR 上运行的 Hadoop 集群使用 EC2 实例作为主节点和从节点的虚拟 Linux 服务器,使用 Amazon S3 作为批量存储输入......"

  • "提供启动新群集并使用以前的 HBase 备份中的数据填充该群集的功能"

我的用例:使用HBASE存储TB数据。通过启动 emr 集群,每月只更新我的表三到两次。表存储在 S3 上。

从 EMR 5.2.0 开始,您可以直接在 AWS S3 上运行 HBase 1.3.0 及更高版本。

该设置将替换hbase-site.xml文件中的hfds://协议:

"hbase.rootdir": "s3://my-bucket/hbase"

无需更改 HBase 客户端。该配置通过消除管理 HDFS NameNode 和数据节点的需要来简化操作。

用例中的关键问题是数据在更新之间应该如何可用。

如果您的目标是始终通过 Hbase 接口访问数据,那么 Hbase 集群(如在 EMR 上)需要持续启动并运行。HBearb目前仅支持HDFS作为Hfiles的实时存储。S3 存储在集群外部,因此可用作备份或其他数据入口/出口的目标。

最新更新