Connessione al cluster con credenziali di accesso - Amazon Managed Streaming per Apache Kafka

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connessione al cluster con credenziali di accesso

Dopo aver creato un segreto e averlo collegato al cluster, è possibile collegare il client al cluster. La procedura seguente mostra come connettere un client a un cluster che utilizza SASL/SCRAM l'autenticazione. Viene inoltre illustrato come produrre e consumare partendo da un argomento di esempio.

Connessione di un client al cluster tramite SASL/SCRAM l'autenticazione

  1. Esegui il comando seguente su un computer che è stato AWS CLI installato. Sostituisci clusterARN con l'ARN del tuo cluster.

    aws kafka get-bootstrap-brokers --cluster-arn clusterARN

    Dal risultato JSON di questo comando, salva il valore associato alla stringa denominata. BootstrapBrokerStringSaslScram Utilizzerai questo valore nei passaggi successivi.

  2. Sul tuo computer client, crea un file di configurazione JAAS che contenga le credenziali utente archiviate nel tuo segreto. Ad esempio, per l'utente alice, crea un file chiamato users_jaas.conf con il seguente contenuto.

    KafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="alice-secret"; };
  3. Utilizza il seguente comando per esportare il file di configurazione JAAS come parametro di ambiente KAFKA_OPTS.

    export KAFKA_OPTS=-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf
  4. Nella directory /tmp, crea un file denominato kafka.client.truststore.jks.

  5. (Facoltativo) Utilizzate il seguente comando per copiare il file dell'archivio chiavi JDK dalla cacerts cartella JVM nel kafka.client.truststore.jks file creato nel passaggio precedente. JDKFolderSostituiscilo con il nome della cartella JDK sull'istanza. Ad esempio, la tua cartella JDK potrebbe avere il nome 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
  6. Nella directory bin di installazione di Apache Kafka, crea un file delle proprietà del client chiamato client_sasl.properties con il seguente contenuto. Questo file definisce il meccanismo e il protocollo SASL.

    security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512
  7. Per creare un argomento di esempio, esegui il comando seguente. Sostituisci BootstrapBrokerStringSaslScram con la stringa del broker bootstrap ottenuta nel passaggio 1 di questo argomento.

    <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --bootstrap-server BootstrapBrokerStringSaslScram --command-config <path-to-client-properties>/client_sasl.properties --replication-factor 3 --partitions 1 --topic ExampleTopicName
  8. Per produrre l'argomento di esempio che hai creato, esegui il comando seguente sul computer client. Sostituiscila BootstrapBrokerStringSaslScram con la stringa del broker bootstrap recuperata nel passaggio 1 di questo argomento.

    <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list BootstrapBrokerStringSaslScram --topic ExampleTopicName --producer.config client_sasl.properties
  9. Per utilizzare l'argomento che hai creato, esegui il comando seguente sul tuo computer client. Sostituiscila BootstrapBrokerStringSaslScram con la stringa del broker bootstrap ottenuta nel passaggio 1 di questo argomento.

    <path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server BootstrapBrokerStringSaslScram --topic ExampleTopicName --from-beginning --consumer.config client_sasl.properties

Risoluzione dei problemi di connessione

Quando si eseguono i comandi del client Kafka, è possibile riscontrare errori nella memoria heap di Java, specialmente quando si lavora con argomenti o set di dati di grandi dimensioni. Questi errori si verificano perché gli strumenti Kafka vengono eseguiti come applicazioni Java con impostazioni di memoria predefinite che potrebbero essere insufficienti per il carico di lavoro.

Per risolvere Out of Memory Java Heap gli errori, è possibile aumentare la dimensione dell'heap Java modificando la variabile di KAFKA_OPTS ambiente per includere le impostazioni di memoria.

L'esempio seguente imposta la dimensione massima dell'heap su 1 GB (). -Xmx1G È possibile regolare questo valore in base alla memoria di sistema disponibile e ai requisiti.

export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -Xmx1G"

Per approfondire argomenti di grandi dimensioni, prendi in considerazione l'utilizzo di parametri basati sul tempo o sull'offset anziché --from-beginning limitare l'utilizzo della memoria:

<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server BootstrapBrokerStringSaslScram --topic ExampleTopicName --max-messages 1000 --consumer.config client_sasl.properties