本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定一致性檢視
您可以透過使用 emrfs-site
屬性的組態屬性來提供其他設定,以設定這些設定來進行一致性檢視使用。例如,您可以透過將下列引數提供給 CLI --emrfs
選項,使用 emrfs-site 組態分類 (Amazon EMR 發行版本 4.x 及更新版本),或引導操作在主節點上設定 emrfs-site.xml 檔案,以選擇不同的預設 DynamoDB 輸送量:
範例 在叢集啟動時變更預設中繼資料的讀取和寫入值
aws emr create-cluster --release-label
emr-7.7.0
--instance-typem5.xlarge
\ --emrfs Consistent=true
,Args=[fs.s3.consistent.metadata.read.capacity=600
,\ fs.s3.consistent.metadata.write.capacity=300
] --ec2-attributes KeyName=myKey
或者,您可以使用下列組態檔案,並將它儲存在本機或 Amazon S3:
[
{
"Classification": "emrfs-site",
"Properties": {
"fs.s3.consistent.metadata.read.capacity": "600",
"fs.s3.consistent.metadata.write.capacity": "300"
}
}
]
使用透過以下語法而建立的組態:
aws emr create-cluster --release-label
emr-7.7.0
--applications Name=Hive \ --instance-type m5.xlarge --instance-count 2 --configurations file://./myConfig.json
注意
包含 Linux 行接續字元 (\) 是為了提高可讀性。它們可以在 Linux 命令中移除或使用。對於 Windows,請將其移除或取代為插入符號 (^)。
您可以使用組態或 AWS CLI --emrfs
引數設定下列選項。如需有關那些引數的更多資訊,請參閱 AWS CLI 命令參考。
屬性 | 預設值 | 描述 |
---|---|---|
fs.s3.consistent |
false |
設為 |
fs.s3.consistent.retryPolicyType |
exponential |
此屬性會在重試一致性問題時識別要使用的政策。選項包括:指數、固定或無。 |
fs.s3.consistent.retryPeriodSeconds |
1 |
此屬性會設定在一致性重試次數之間的等待時間長度。 |
fs.s3.consistent.retryCount |
10 |
此屬性會設定在偵測到不一致時的重試次數上限。 |
fs.s3.consistent.throwExceptionOnInconsistency |
true |
此屬性會決定是否擲出或記錄一致性例外狀況。設為 true 時,即會擲出 ConsistencyException 。 |
fs.s3.consistent.metadata.autoCreate |
true |
設為 true 時,此屬性會啟用中繼資料資料表的自動建立。 |
fs.s3.consistent.metadata.etag.verification.enabled |
true |
在 Amazon EMR 5.29.0 中,預設會啟用此屬性。啟用時,EMRFS 會使用 S3 ETags 來驗證正在讀取的物件是否為最新的可用版本。此功能適用於更新後讀取的使用案例,其中在 S3 上的檔案被覆寫,同時保有相同名稱。此 ETag 驗證功能目前不適用於 S3 Select。 |
fs.s3.consistent.metadata.tableName |
EmrFSMetadata |
此屬性會指定在 DynamoDB 中的中繼資料資料表名稱。 |
fs.s3.consistent.metadata.read.capacity |
500 |
此屬性會指定在中繼資料資料表建立時 DynamoDB 要佈建的讀取容量。 |
fs.s3.consistent.metadata.write.capacity |
100 |
此屬性會指定在中繼資料資料表建立時 DynamoDB 要佈建的寫入容量。 |
fs.s3.consistent.fastList |
true |
設為 true 時,此屬性會使用多個執行緒列出目錄 (依需要)。必須啟用一致性才能使用此屬性。 |
fs.s3.consistent.fastList.prefetchMetadata |
false |
設為 true 時,此屬性可讓中繼資料預先擷取包含超過 20,000 個項目的目錄。 |
fs.s3.consistent.notification.CloudWatch |
false |
設為 true 時,會針對因 Amazon S3 最終一致性問題而失敗的 FileSystem API 呼叫啟用 CloudWatch 指標。 |
fs.s3.consistent.notification.SQS |
false |
設為 true 時,最終一致性通知會推送至 Amazon SQS 佇列。 |
fs.s3.consistent.notification.SQS.queueName |
EMRFS-Inconsistency-<jobFlowId> |
變更此屬性可讓您為有關 Amazon S3 最終一致性問題的訊息指定自己的 SQS 佇列名稱。 |
fs.s3.consistent.notification.SQS.customMsg |
none |
此屬性可讓您指定在有關 Amazon S3 最終一致性問題之 SQS 訊息中所含的自訂訊息。如果未針對此屬性指定值,訊息中的對應欄位則為空。 |
fs.s3.consistent.dynamodb.endpoint |
none |
此屬性可讓您指定自訂的 DynamoDB 端點以供一致性檢視中繼資料使用。 |
fs.s3.useRequesterPaysHeader |
false |
設定為 true 時,此屬性允許 Amazon S3 向啟用了請求付款人選項的儲存貯體發出請求。 |