启用 Amazon EMR WAL - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

启用 Amazon EMR WAL

使用创建集群时,使用以下步骤启用对 Amazon EMR WAL 的写入功能。Amazon Command Line Interface

注意

您无法为已在运行的集群启用 Amazon EMR WAL,也无法启动具有相同 S3 根目录的两个集群。有关更多信息,请参阅 亚马逊 EMR WAL 的注意事项和区域

  1. 在创建启用 Amazon EMR WAL 的集群之前,必须向计划用于集群的实例配置文件添加所需的权限。有关更多信息,请参阅 亚马逊 EMR WAL 所需的权限

  2. 从中创建集群Amazon CLI。使用--configurations选项提供指定hbase.emr.wal.enabled属性的 JSON 配置对象,如下例所示。

    • 在 Amazon S3 中指定存储模式和根目录位置。您指定的 Amazon S3 位置应与您的 EMR 集群位于同一区域,但一次只能有一个活动集群在 S3 中使用相同的 HBase 根目录。

    • 使用实例组配置创建您的集群。您不能将 Amazon EMR WAL 与实例队列配置一起使用。有关使用实例组创建集群的更多信息,请参阅 Amazon EMR 管理指南中的配置统一实例组

    • 有关创建集群的控制台步骤以及使用集群的详细create-cluster示例Amazon CLI,请参阅使用 HBase 创建集群

  3. 要为新集群启用 WAL,请将hbase.emr.wal.enabled属性设置为true。以下命令包含带有示例配置对象的 JSON 片段。

    aws emr create-cluster --name "hbasewal" --release-label emr-6.x.y \ --applications Name=HBase --use-default-roles --ec2-attributes KeyName=myKey \ --instance-type m6i.xlarge --instance-count 1 --configurations hbase.json $cat hbase.json [ { "Classification": "hbase-site", "Properties": { "hbase.rootdir": "s3://MyBucket/MyHBaseStore" } }, { "Classification": "hbase", "Properties": { "hbase.emr.storageMode": "s3", "hbase.emr.wal.enabled": "true" } } ]

当 HBase 在新创建的集群上联机时,HBase 将自动将 WAL 数据写入 Amazon EMR WAL,并使用亚马逊 EMR WAL 进行恢复。

例 1:创建使用 Amazon EMR WAL 的 EMR 集群
[ { "Classification": "hbase-site", "Properties": { "hbase.rootdir": "s3://MyBucket/MyHBaseStore" } }, { "Classification": "hbase", "Properties": { "hbase.emr.storageMode": "s3", "hbase.emr.wal.enabled": "true" } } ]
例 2:使用自定义 WAL 工作空间创建 EMR 集群
[ { "Classification": "hbase-site", "Properties": { "hbase.rootdir": "s3://MyBucket/MyHBaseStore", "emr.wal.workspace": "customWorkspaceName" } }, { "Classification": "hbase", "Properties": { "hbase.emr.storageMode": "s3", "hbase.emr.wal.enabled": "true" } } ]