本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用 Amazon EMR WAL
使用创建集群时,使用以下步骤启用写入 Amazon EMR WAL。 AWS Command Line Interface
注意
您无法为已在运行的集群启用 Amazon EMR WAL,也无法启动具有相同 S3 根目录的两个集群。有关更多信息,请参阅 亚马逊 EMR WAL 的注意事项和区域。
-
在创建启用 Amazon EMR WAL 的集群之前,必须向计划用于集群的实例配置文件添加所需的权限。有关更多信息,请参阅 亚马逊 EMR WAL 所需的权限。
-
从中创建集群 AWS CLI。使用
--configurations
选项提供指定hbase.emr.wal.enabled
属性的 JSON 配置对象,如下例所示。-
在 Amazon S3 中指定存储模式和根目录位置。您指定的 Amazon S3 位置应与您的 EMR 集群位于同一区域,但一次只能有一个活动集群在 S3 中使用相同的 HBase 根目录。
-
使用实例组配置创建您的集群。您不能将 Amazon EMR WAL 与实例队列配置一起使用。有关使用实例组创建集群的更多信息,请参阅 Amazon EMR 管理指南中的配置统一实例组。
-
有关创建集群的控制台步骤以及使用集群的详细
create-cluster
示例 AWS CLI,请参阅使用 HBase 创建集群。
-
-
要为新集群启用 WAL,请将
hbase.emr.wal.enabled
属性设置为true
。以下命令包含带有示例配置对象的 JSON 片段。aws emr create-cluster --name "
hbasewal
" --release-labelemr-6.x.y
\ --applications Name=HBase --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typem6i.xlarge
--instance-count1
--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" } } ]