EMR 上的用例 HBase

Use case HBase on EMR

看了AWS的文档,还是有一点不清楚

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

在文档中:

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

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

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

从 EMR 5.2.0 开始,您可以 运行 HBase 1.3.0 及更高版本 directly on AWS S3.

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

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

无需更改 HBase 客户端。该配置无需管理 HDFS NameNode 和 DataNode,从而简化了操作。