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 a partir de un tema de ejemplo.
Temas
Conexión de un cliente a un clúster mediante SASL/SCRAM autenticación
-
Ejecute el siguiente comando en una máquina que AWS CLI esté instalada.
clusterARN
Sustitúyalo por el ARN de su clúster.aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
En el resultado JSON de este comando, guarda el valor asociado a la cadena nombrada
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.conf
con 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.jks
en el directorio/tmp
. -
(Opcional) Utilice el siguiente comando para copiar el archivo del almacén de claves JDK de la
cacerts
carpeta JVM alkafka.client.truststore.jks
archivo que creó en el paso anterior.JDKFolder
Sustitú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
bin
de su instalación de Apache Kafka, cree un archivo de propiedades del cliente llamadoclient_sasl.properties
con 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, ejecuta el siguiente comando.
BootstrapBrokerStringSaslScram
Sustitúyala por la cadena bootstrap broker 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.
BootstrapBrokerStringSaslScram
Sustitú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.
BootstrapBrokerStringSaslScram
Sustitú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
Al ejecutar los comandos del cliente de Kafka, es posible que se produzcan errores en la memoria apilada de Java, especialmente al trabajar con temas o conjuntos de datos extensos. Estos errores se producen porque las herramientas de Kafka se ejecutan como aplicaciones Java con una configuración de memoria predeterminada que puede ser insuficiente para la carga de trabajo.
Para resolver Out of Memory Java Heap
los errores, puede aumentar el tamaño del montón de Java modificando la variable de KAFKA_OPTS
entorno para incluir la configuración de memoria.
En el siguiente ejemplo, se 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"
Si se trata de temas extensos, considere la posibilidad de utilizar parámetros basados en el tiempo o en la compensación en lugar de limitar el uso de la memoria--from-beginning
:
<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram
--topicExampleTopicName
--max-messages 1000 --consumer.config client_sasl.properties