View a markdown version of this page

KCL 3.x から単一テーブル形式に移行する - Amazon Kinesis Data Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

KCL 3.x から単一テーブル形式に移行する

3 つのすべての DynamoDB メタデータテーブル (リーステーブル、ワーカーメトリクステーブル、コーディネーター状態テーブル) で KCL 3.x を実行すると、単一のテーブル形式に移行して、すべてのメタデータをリーステーブルに統合できます。

前提条件

  • アプリケーションは、3 つのメタデータテーブルすべてを使用して KCL 3.x を実行します。

  • アプリケーションは安定しており、すべてのワーカーは正常です。

  • アプリケーションは KCL 3.x の移行を完了し、 を設定しませんCoordinatorConfig.clientVersionConfig。テーブルの移行と 2.x から 3.x へのクライアントバージョン移行を同時に実行しないでください。

KCL 3.x から単一テーブル形式に移行するには、2 フェーズのデプロイプロセスに従います。

  1. フェーズ 1: プロジェクトの依存関係を KCL 3.5 以降に更新します。を false (デフォルト) migrateAllEntitiesToLeaseTableに設定してデプロイします。このデプロイでは、単一のテーブル形式をサポートする新しいコードがインストールされますが、移行はアクティブ化されません。

  2. すべてのワーカーでデプロイが完了するまで待ちます。が TableMigrationStatusに達するまで、TableMigration3.5コーディネーター状態エントリをモニタリングしますDEPLOYED。リグレッションがないことを確認し、十分なベイク時間を確保します。

  3. フェーズ 2:migrateAllEntitiesToLeaseTableに設定して再度デプロイしますtrue。このデプロイでは、単一テーブル形式への移行が開始されます。

  4. をモニタリングしますTableMigrationStatus。リーダーワーカーは DEPLOYED、PENDING、COMPLETE を通じて状態を進めます。

  5. ステータスが COMPLETE に達したら、リグレッションがないことを確認し、追加のベイク時間を確保して、ロールバックが不要であることを確認します。

  6. 古いワーカーメトリクスとコーディネーター状態テーブルを手動で削除します。KCL はこれらのテーブルを自動的に削除せず、使用を停止するだけです。CoordinatorConfig.coordinatorStateTableConfig または を設定している場合はLeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig、これらの設定を非推奨として削除できます。

重要

移行が COMPLETE 状態になった後は、アプリケーションをロールバックしないでください。COMPLETE の後、アプリケーションは単一テーブルモードでのみ動作します。フェーズ 1 へのコードロールバックでも、複数のテーブルには切り替えられません。設定は無視され、アプリケーションはリーステーブルのみを使用し続けます。

移行状態とロールバックオプションの詳細については、「」を参照してくださいKCL の単一テーブル形式