View a markdown version of this page

从 KCL 3.x 迁移到单表格式 - Amazon Kinesis Data Streams

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从 KCL 3.x 迁移到单表格式

如果您使用所有三个 DynamoDB 元数据表(租赁表、工作器指标表和协调器状态表)运行 KCL 3.x,则可以迁移到单表格式以将所有元数据合并到租赁表中。

先决条件

  • 您的应用程序运行包含所有三个元数据表的 KCL 3.x。

  • 您的应用程序是稳定的,所有工作人员都很健康。

  • 您的应用程序已完成 KCL 3.x 迁移,但尚未进行配置。CoordinatorConfig.clientVersionConfig请勿同时执行表迁移和从 2.x 到 3.x 的客户端版本迁移。

要从 KCL 3.x 迁移到单表格式,请遵循两阶段部署流程

  1. 第 1 阶段:将项目依赖关系更新到 KCL 3.5 或更高版本。在migrateAllEntitiesToLeaseTable设置为false(默认)的情况下部署。此部署会安装支持单表格式但不会激活迁移的新代码。

  2. 等待所有工作人员的部署完成。监控TableMigration3.5协调器状态条目,直到到TableMigrationStatusDEPLOYED。确认没有回归并留出足够的烘焙时间。

  3. 第 2 阶段:migrateAllEntitiesToLeaseTable设置为的情况下再次部署true。此部署开始向单表格式的迁移。

  4. 监控TableMigrationStatus. 领导者工作人员通过 “已部署”、“待定” 和 “完成” 来推进状态。

  5. 状态变为 COMPLETE 后,确认没有回归,并留出额外的烘焙时间以确保无需回滚。

  6. 手动删除旧的工作器指标和协调器状态表。KCL 不会自动删除这些表,而只是停止使用它们。如果您已配置CoordinatorConfig.coordinatorStateTableConfigLeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig,则可以删除这些配置,因为它们已被弃用。

重要

迁移到达 “完成” 状态后,请勿回滚应用程序。完成后,应用程序仅在单表模式下运行。即使代码回滚到第 1 阶段也不会切换回多个表,配置会被忽略,应用程序继续仅使用租用表。

有关迁移状态和回滚选项的详细信息,请参阅KCL 的单表格式