View a markdown version of this page

从 KCL 3.x 迁移到单表格式 - Amazon Kinesis Data Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

从 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. 状态变为 “完成” 后,确认没有回归,并留出额外的烘焙时间以确保无需回滚。

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

重要

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

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