Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Conexión a un clúster con credenciales de inicio de sesión
Después de crear un secreto y asociarlo al clúster, puede conectar el cliente con el clúster. El siguiente procedimiento muestra cómo conectar un cliente a un clúster que utiliza la SASL/SCRAM autenticación. También muestra cómo producir y consumir datos desde un tema de ejemplo.
Temas
Conectar un cliente a un clúster mediante SASL/SCRAM autenticación
-
Ejecute el siguiente comando en una máquina que AWS CLI esté instalada.
clusterARNSustitúyalo por el ARN de su clúster.aws kafka get-bootstrap-brokers --cluster-arnclusterARNDel resultado JSON de este comando, guarde el valor asociado a la cadena llamada
BootstrapBrokerStringSaslScram. Utilizará este valor en pasos posteriores. -
En su equipo cliente, cree un archivo de configuración JAAS que contenga las credenciales de usuario almacenadas en su secreto. Por ejemplo, para el usuario alice, cree un archivo llamado
users_jaas.confcon el siguiente contenido.KafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="alice-secret"; }; -
Utilice el siguiente comando para exportar el archivo de configuración de JAAS como parámetro de entorno
KAFKA_OPTS.export KAFKA_OPTS=-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -
Cree un archivo denominado
kafka.client.truststore.jksen el directorio/tmp. -
(Opcional) Utilice el siguiente comando para copiar el archivo del almacén de claves del JDK desde la carpeta
cacertsdel JVM al archivokafka.client.truststore.jksque creó en el paso anterior.JDKFolderSustitúyalo por el nombre de la carpeta JDK de la instancia. Por ejemplo, su carpeta JDK podría llamarsejava-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 -
En el directorio
binde su instalación de Apache Kafka, cree un archivo de propiedades del cliente llamadoclient_sasl.propertiescon el siguiente contenido. Este archivo define el mecanismo y el protocolo SASL.security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512 -
Para crear un tema de ejemplo, ejecute el siguiente comando.
BootstrapBrokerStringSaslScramSustitúyala por la cadena del broker bootstrap que obtuviste en el paso 1 de este tema.<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 continuar con el tema de ejemplo que ha creado, ejecute el siguiente comando en su equipo cliente.
BootstrapBrokerStringSaslScramSustitúyala por la cadena bootstrap broker que recuperaste en el paso 1 de este tema.<path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringSaslScram--topicExampleTopicName--producer.config client_sasl.properties -
Para continuar con el tema que ha creado, ejecute el siguiente comando en el equipo cliente.
BootstrapBrokerStringSaslScramSustitúyala por la cadena bootstrap broker que obtuviste en el paso 1 de este tema.<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--from-beginning --consumer.config client_sasl.properties
Solución de problemas de conexión
Cuando ejecute comandos de cliente de Kafka, es posible que encuentre errores de memoria del montón de Java, especialmente al trabajar con temas o conjuntos de datos de gran tamaño. Estos errores se producen porque las herramientas de Kafka se ejecutan como aplicaciones Java con configuraciones de memoria predeterminadas que pueden ser insuficientes para la carga de trabajo.
Para resolver los errores Out of Memory Java Heap, puede aumentar el tamaño del montón de Java mediante la modificación de la variable de entorno KAFKA_OPTS para incluir la configuración de memoria.
El siguiente ejemplo establece el tamaño máximo del montón en 1 GB (-Xmx1G). Puede ajustar este valor en función de la memoria del sistema disponible y de los requisitos.
export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -Xmx1G"
Para consumir temas de gran tamaño, considere el uso de parámetros basados en tiempo o en desplazamientos, en lugar de --from-beginning, con el fin de limitar el uso de memoria.
<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--max-messages 1000 --consumer.config client_sasl.properties