As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como estabelecer conexão com o seu cluster usando credenciais de acesso
Após criar um segredo e associá-lo ao cluster, você poderá conectar o cliente ao cluster. O procedimento a seguir demonstra como conectar um cliente a um cluster que usa SASL/SCRAM autenticação. Também mostra como produzir e consumir a partir de um tópico de exemplo.
Tópicos
Conectando um cliente ao cluster usando SASL/SCRAM autenticação
-
Execute o comando a seguir em uma máquina que tenha sido AWS CLI instalada.
clusterARNSubstitua pelo ARN do seu cluster.aws kafka get-bootstrap-brokers --cluster-arnclusterARNNo JSON resultante deste comando, salve o valor associado à string
BootstrapBrokerStringSaslScram. Você usará esse valor em etapas subsequentes. -
Em sua máquina cliente, crie um arquivo de configuração JAAS contendo as credenciais de usuário armazenadas em seu segredo. Por exemplo, para o usuário alice, crie um arquivo chamado
users_jaas.confcom o conteúdo a seguir.KafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="alice-secret"; }; -
Use o comando a seguir para exportar seu arquivo de configuração JAAS como um parâmetro de ambiente
KAFKA_OPTS.export KAFKA_OPTS=-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -
Crie um arquivo chamado
kafka.client.truststore.jksem um diretório/tmp. -
(Opcional) Use o comando a seguir para copiar o arquivo de armazenamento de chaves do JDK da sua pasta de
cacertsdo JVM para o arquivokafka.client.truststore.jksque você criou na etapa anterior.JDKFolderSubstitua pelo nome da pasta JDK na sua instância. Por exemplo, sua pasta do JDK pode ter o nomejava-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 -
No diretório
binda instalação do Apache Kafka, crie um arquivo de propriedades do cliente chamadoclient_sasl.propertiescom o conteúdo a seguir. Esse arquivo define o mecanismo e o protocolo SASL.security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512 -
Para criar um tópico de exemplo, execute o comando a seguir.
BootstrapBrokerStringSaslScramSubstitua pela string do bootstrap broker que você obteve na etapa 1 deste tópico.<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 -
Para produzir o tópico de exemplo que você criou, execute o seguinte comando em sua máquina cliente.
BootstrapBrokerStringSaslScramSubstitua pela string do bootstrap broker que você recuperou na etapa 1 deste tópico.<path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringSaslScram--topicExampleTopicName--producer.config client_sasl.properties -
Para consumir do tópico que você criou, execute o comando a seguir em sua máquina cliente.
BootstrapBrokerStringSaslScramSubstitua pela string do bootstrap broker que você obteve na etapa 1 deste tópico.<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--from-beginning --consumer.config client_sasl.properties
Solução de problemas de conexão
Ao executar comandos do cliente do Kafka, você pode encontrar erros de memória da pilha de Java, especialmente ao trabalhar com tópicos ou conjuntos de dados grandes. Esses erros ocorrem porque as ferramentas do Kafka são executadas como aplicações Java com configurações de memória padrão que podem ser insuficientes para sua workload.
Para resolver erros de Out of Memory Java Heap, você pode aumentar o tamanho da pilha de Java modificando a variável de ambiente KAFKA_OPTS para incluir configurações de memória.
O exemplo a seguir define o tamanho máximo da pilha como 1 GB (-Xmx1G). Você pode ajustar esse valor com base na memória e nos requisitos disponíveis do sistema.
export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -Xmx1G"
Para consumir tópicos extensos, considere usar parâmetros baseados em tempo ou em deslocamento em vez de --from-beginning para limitar o uso de memória:
<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--max-messages 1000 --consumer.config client_sasl.properties