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

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

启用亚马逊 EMR WAL

使用创建集群EMRWAL时,使用以下步骤启用写入 Amazon Amazon Command Line Interface。

注意

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

  1. 在创建EMRWAL支持 Amazon 的集群之前,您必须向计划用于集群的实例配置文件添加所需的权限。有关更多信息,请参阅 Amazon 所需的权限 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://amzn-s3-demo-bucket/MyHBaseStore" } }, { "Classification": "hbase", "Properties": { "hbase.emr.storageMode": "s3", "hbase.emr.wal.enabled": "true" } } ]

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

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