本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解EMRFS一致性檢視如何追蹤 Amazon S3 中的物件
EMRFS透過將這些物件的相關資訊新增至中EMRFS繼資料,在 Amazon S3 中建立一致的物件檢視。EMRFS在下列情況下,會將這些清單加入其中
-
在 Amazon EMR 工作過EMRFS程中所撰寫的物件。
-
物件會使用與中繼資料同步或匯入EMRFS中繼資料EMRFSCLI。
讀取者的物EMRFS件不會自動新增至中繼資料。EMRFS刪除物件時,清單仍會保留在具有已刪除狀態的中繼資料中,直到使用清除該清單為止。EMRFS CLI若要進一步瞭解CLI,請參閱EMRFSCLI指令參考。如需清除中EMRFS繼資料中清單的詳細資訊,請參閱EMRFS一致的檢視中繼。
對於每個 Amazon S3 操作,請在一致EMRFS檢視中檢查中繼資料,以取得有關物件集的資訊。如果EMRFS發現 Amazon S3 在其中一項操作期間不一致,則會根據emrfs-site
組態屬性中定義的參數重試操作。EMRFS用盡重試之後,它會擲回ConsistencyException
或記錄例外狀況並繼續工作流程。如需關於重試日誌的詳細資訊,請參閱 重試邏輯。您可以在日誌中找到 ConsistencyExceptions
,例如:
-
listStatus:中繼資料項目沒有 Amazon S3 物件
/S3_bucket/dir/object
-
getFileStatus:金鑰
dir/file
存在於中繼資料中,但不存在於 Amazon S3 中
如果您直接從 Amazon S3 刪除具有EMRFS一致檢視追蹤的物件,請EMRFS將該物件視為不一致,因為該物件仍會列在中繼資料中,如同 Amazon S3 中一樣。如果您的中繼資料與 Amazon S3 中的物件EMRFS追蹤不同步,您可以使用的sync子命令重設中EMRFSCLI繼資料,使其反映 Amazon S3。為了探索中繼資料與 Amazon S3 之間的差異,請使用 diff。最後,EMRFS只有中繼資料中參照物件的一致檢視;相同的 Amazon S3 路徑中可能有其他物件未被追蹤。當EMRFS列出 Amazon S3 路徑中的物件時,會傳回中繼資料中追蹤的物件以及該 Amazon S3 路徑中追蹤的物件超集。