啟用 Amazon EMR WAL - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

啟用 Amazon EMR WAL

當您使用 建立叢集時,請使用下列步驟來啟用寫入 Amazon EMR WAL AWS Command Line Interface。

注意

您無法為已在執行中的叢集啟用 Amazon EMR WAL,也無法啟動具有相同 S3 根目錄的兩個叢集。如需詳細資訊,請參閱Amazon EMR WAL 的考量事項和區域

  1. 在建立已啟用 Amazon EMR WAL 的叢集之前,您必須將必要的許可新增至您計劃與叢集搭配使用的執行個體描述檔。如需詳細資訊,請參閱Amazon EMR WAL 的必要許可

  2. 從 建立叢集 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 建立叢集

  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 WAL 的 EMR 叢集
[ { "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" } } ]