Amazon MSK 配置操作 - Amazon Managed Streaming for Apache Kafka
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Amazon MSK 配置操作

本主题说明如何创建自定义 MSK 配置以及如何对这些配置执行操作。有关如何使用 MSK 配置创建或更新集群的信息,请参阅 Amazon MSK:工作方式

创建 MSK 配置

  1. 创建一个文件,可在其中指定要设置的配置属性以及要分配给这些属性的值。以下是示例配置文件的内容。

    auto.create.topics.enable = true zookeeper.connection.timeout.ms = 1000 log.roll.ms = 604800000
  2. 运行以下 AWS CLI 命令,同时替换 config-file-path 替换为您在上一步中保存配置的文件的路径。

    注意

    您为配置选择的名称必须与以下正则表达式匹配:“^[0-9A-Za-z][0-9A-Za-z-]{0,}$”。

    aws kafka create-configuration --name "ExampleConfigurationName" --description "Example configuration description." --kafka-versions "1.1.1" --server-properties file://config-file-path

    以下是运行此命令后的成功响应示例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "CreationTime": "2019-05-21T19:37:40.626Z", "LatestRevision": { "CreationTime": "2019-05-21T19:37:40.626Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "ExampleConfigurationName" }
  3. 上一条命令将返回新创建的配置的 Amazon 资源名称 (ARN)。保存此 ARN,因为您需要使用它来在其他命令中引用此配置。如果您丢失了配置 ARN,则可通过列出您账户中的所有配置来重新找到它。

更新 MSK 配置

首先,确保您的 MSK 集群上的每个代理的分区数低于 每个代理的分区数中所述的限制。您无法更新超出这些限制的集群的配置。

  1. 创建一个文件,您可以在其中指定要更新的配置属性以及要分配给这些属性的值。以下是示例配置文件的内容。

    auto.create.topics.enable = true zookeeper.connection.timeout.ms = 1000 min.insync.replicas = 2
  2. 运行以下 AWS CLI 命令,同时替换 config-file-path 替换为您在上一步中保存配置的文件的路径。

    Replace configuration-arn 替换为您在创建配置时获取的 ARN。如果您在创建配置时未保存 ARN,则可使用 list-configurations 命令列出您账户中的所有配置,并在响应中显示的列表中找到所需的配置。配置的 ARN 也将显示在该列表中。

    aws kafka update-configuration --arn configuration-arn --description "Example configuration revision description." --server-properties file://config-file-path
  3. 以下是运行此命令后的成功响应示例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "LatestRevision": { "CreationTime": "2020-08-27T19:37:40.626Z", "Description": "Example configuration revision description.", "Revision": 2 } }

删除 MSK 配置

  1. 要运行此示例,请替换 configuration-arn 替换为您在创建配置时获取的 ARN。如果您在创建配置时未保存 ARN,则可使用 list-configurations 命令列出您账户中的所有配置,并在响应中显示的列表中找到所需的配置。配置的 ARN 也将显示在该列表中。

    aws kafka delete-configuration --arn configuration-arn
  2. 以下是运行此命令后的成功响应示例。

    { "arn": " arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "state": "DELETING" }

描述 MSK 配置

  1. 此命令将返回有关配置的元数据。要获取配置的详细说明,请运行 describe-configuration-revision

    要运行此示例,请替换 configuration-arn 替换为您在创建配置时获取的 ARN。如果您在创建配置时未保存 ARN,则可使用 list-configurations 命令列出您账户中的所有配置,并在响应中显示的列表中找到所需的配置。配置的 ARN 也将显示在该列表中。

    aws kafka describe-configuration --arn configuration-arn
  2. 以下是运行此命令后的成功响应示例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1", "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "KafkaVersions": [ "1.1.1" ], "LatestRevision": { "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "SomeTest" }

描述 MSK 配置修订

通过使用 describe-configuration 命令描述 MSK 配置,您将获得配置的元数据。要查看配置的描述,请改用 describe-configuration-revision 命令。

  • 运行以下命令,同时替换 configuration-arn 替换为您在创建配置时获取的 ARN。如果您在创建配置时未保存 ARN,则可使用 list-configurations 命令列出您账户中的所有配置,并在响应中显示的列表中找到所需的配置。配置的 ARN 也将显示在该列表中。

    aws kafka describe-configuration-revision --arn configuration-arn --revision 1

    以下是运行此命令后的成功响应示例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1", "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "Revision": 1, "ServerProperties": "YXV0by5jcmVhdGUudG9waWNzLmVuYWJsZSA9IHRydWUKCgp6b29rZWVwZXIuY29ubmVjdGlvbi50aW1lb3V0Lm1zID0gMTAwMAoKCmxvZy5yb2xsLm1zID0gNjA0ODAwMDAw" }

    ServerProperties 的值已使用 Base64 进行编码。如果您使用 Base64 解码器(例如,https://www.base64decode.org/)手动对其进行解码,则将获得用于创建自定义配置的原始配置文件的内容。在此情况下,您将获得以下内容:

    auto.create.topics.enable = true zookeeper.connection.timeout.ms = 1000 log.roll.ms = 604800000

列出您的账户中当前区域的所有 MSK 配置

  • 运行以下命令。

    aws kafka list-configurations

    以下是运行此命令后的成功响应示例。

    { "Configurations": [ { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1", "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "KafkaVersions": [ "1.1.1" ], "LatestRevision": { "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "SomeTest" }, { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "CreationTime": "2019-05-03T23:08:29.446Z", "Description": "Example configuration description.", "KafkaVersions": [ "1.1.1" ], "LatestRevision": { "CreationTime": "2019-05-03T23:08:29.446Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "ExampleConfigurationName" } ] }