本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用登录凭证连接到集群
在创建密钥并将其与集群关联后,您便可以将客户端连接到集群。以下过程演示如何将客户端连接到使用 SASL/SCRAM 身份验证的集群。它还展示了如何制作和使用示例主题。
使用 SASL/SCRAM 身份验证将客户端连接到集群
-
在已 Amazon CLI 安装的计算机上运行以下命令。
clusterARN
替换为集群的 ARN。aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
从此命令的 JSON 结果中,保存与名为的字符串关联的值
BootstrapBrokerStringSaslScram
。您将在后面的步骤中使用此值。 -
在您的客户端计算机上,创建一个 JAAS 配置文件,其中包含存储在密钥中的用户凭证。例如,对于用户 alice,使用以下内容创建一个名为
users_jaas.conf
的文件。KafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="alice-secret"; };
-
使用以下命令将 JAAS 配置文件导出为
KAFKA_OPTS
环境参数。export KAFKA_OPTS=-Djava.security.auth.login.config=
<path-to-jaas-file>
/users_jaas.conf -
在
/tmp
目录中创建一个名为kafka.client.truststore.jks
的文件。 -
(可选)使用以下命令将 JDK 密钥存储文件从 JVM
cacerts
文件夹复制到您在上一步中创建kafka.client.truststore.jks
的文件中。JDKFolder
替换为实例上的 JDK 文件夹的名称。例如,您的 JDK 文件夹可能命名为java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64
。cp /usr/lib/jvm/
JDKFolder
/lib/security/cacerts /tmp/kafka.client.truststore.jks -
在 Apache Kafka 安装的
bin
目录中,创建一个名为client_sasl.properties
的客户端属性文件,其中包含以下内容。此文件可定义 SASL 机制和协议。security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512
-
要创建示例主题,请运行以下命令。
BootstrapBrokerStringSaslScram
替换为您在本主题的步骤 1 中获得的引导代理字符串。<path-to-your-kafka-installation>
/bin/kafka-topics.sh --create --bootstrap-serverBootstrapBrokerStringSaslScram
--command-config<path-to-client-properties>
/client_sasl.properties --replication-factor 3 --partitions 1 --topic ExampleTopicName -
要生成您创建的示例主题,请在客户端计算机上运行以下命令。
BootstrapBrokerStringSaslScram
替换为您在本主题的步骤 1 中检索到的引导代理字符串。<path-to-your-kafka-installation>
/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringSaslScram
--topicExampleTopicName
--producer.config client_sasl.properties -
要使用您创建的主题,在您的客户端计算机上运行以下命令。
BootstrapBrokerStringSaslScram
替换为您在本主题的步骤 1 中获得的引导代理字符串。<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram
--topicExampleTopicName
--from-beginning --consumer.config client_sasl.properties
排除连接问题
运行 Kafka 客户端命令时,可能会遇到 Java 堆内存错误,尤其是在处理大型主题或数据集时。之所以出现这些错误,是因为 Kafka 工具作为 Java 应用程序运行,其默认内存设置可能不足以应付您的工作负载。
要解决Out of Memory Java Heap
错误,您可以通过修改KAFKA_OPTS
环境变量以包括内存设置来增加 Java 堆的大小。
以下示例将最大堆大小设置为 1GB () -Xmx1G
。您可以根据可用的系统内存和要求调整此值。
export KAFKA_OPTS="-Djava.security.auth.login.config=
<path-to-jaas-file>
/users_jaas.conf -Xmx1G"
要使用大型主题,可以考虑使用基于时间或偏移量的参数,而不是限制内存--from-beginning
使用量:
<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram
--topicExampleTopicName
--max-messages 1000 --consumer.config client_sasl.properties