離線遷移過程:阿帕奇卡桑德拉到 Amazon Keyspaces - Amazon Keyspaces (適用於 Apache Cassandra)

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

離線遷移過程:阿帕奇卡桑德拉到 Amazon Keyspaces

當您可以負擔停機時間來執行遷移時,離線遷移是適合的。企業通常會有修補、大型版本或硬體升級或主要升級的停機時間的維護時間。離線遷移可以使用此窗口複製數據,並在應用程序流量從 Apache Cassandra 切換到 Amazon Keyspaces。離線遷移減少了對應用程序的修改,因為它不需要同時與 Cassandra 和 Amazon Keyspaces 進行通信。此外,在資料流程暫停的情況下,可以複製確切的狀態,而不會維持突變。

在此範例中,您將 Amazon Simple Storage Service (Amazon S3) 用作離線移轉期間資料的暫存區,以將停機時間降至最低。您可以使用星火卡桑德拉連接器和自動導入您在 Amazon S3 中的鑲木地板格式存儲到 Amazon Keyspaces 表中的數據。 AWS Glue以下部分將展示該過程的高級概述。您可以在 Github 上找到此程序的程式碼範例。

從 Apache 卡桑德拉離線遷移過程使用 Amazon Amazon S3 Keyspaces, AWS Glue 需要以下任務。 AWS Glue

  1. 一種 ETL 任務,可擷取和轉換 CQL 資料,並將其存放在 Amazon S3 儲存貯體中。

  2. 將資料從儲存貯體匯入 Amazon Keyspaces 的第二個任務。

  3. 匯入增量資料的第三項工作。

如何從 Amazon 虛擬私有雲中的亞馬遜 Amazon EC2 上運行的卡桑德拉執行離線遷移到亞馬遜 Keyspaces
  1. 首先,您使 AWS Glue 用木地板格式從卡桑德拉導出表數據,並將其保存到 Amazon S3 存儲桶。您需要使用 AWS Glue 連接到運行卡桑德拉的 Amazon EC2 實例所在的 VPC 的連接器來運行任務。 AWS Glue 然後,您可以使用 Amazon S3 私有端點將資料儲存到 Amazon S3 儲存貯體。下圖說明這些步驟。

    將阿帕奇卡桑德拉數據從在 VPC 中運行的 Amazon EC2 遷移到 Amazon S3 存儲桶使用. AWS Glue
  2. 隨機排列 Amazon S3 儲存貯體中的資料,以改善資料隨機化。均勻匯入的資料允許在目標資料表中產生更多分散式流量。從包含大分割區 (超過 1000 列的分割區) 的 Cassandra 匯出資料時,需要執行此步驟,以避免將資料插入 Amazon 金鑰 Keyspaces 時的熱鍵模式。熱鍵問題導致 WriteThrottleEvents Amazon 密 Keyspaces 間,並導致加載時間增加。

    AWS Glue 任務會將來自 Amazon S3 儲存貯體的資料移除,然後將其傳回到另一個 Amazon S3 儲存貯體。
  3. 使用其他 AWS Glue 任務將資料從 Amazon S3 儲存貯體匯入 Amazon Keyspaces。Amazon S3 儲存貯體中的洗牌資料以實木複合地板格式存放。

    AWS Glue 匯入任務會從 Amazon S3 儲存貯體取出混洗資料,並將其移至 Amazon Keyspaces 表格中。