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.
Argomenti
Connessione di un client al cluster tramite SASL/SCRAM l'autenticazione
-
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. -
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"; };
-
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 -
Nella directory
/tmp
, crea un file denominatokafka.client.truststore.jks
. -
(Facoltativo) Utilizzate il seguente comando per copiare il file dell'archivio chiavi JDK dalla
cacerts
cartella JVM nelkafka.client.truststore.jks
file creato nel passaggio precedente.JDKFolder
Sostituiscilo con il nome della cartella JDK sull'istanza. Ad esempio, la tua cartella JDK potrebbe avere il 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 -
Nella directory
bin
di installazione di Apache Kafka, crea un file delle proprietà del client chiamatoclient_sasl.properties
con il seguente contenuto. Questo file definisce il meccanismo e il protocollo SASL.security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512
-
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-serverBootstrapBrokerStringSaslScram
--command-config<path-to-client-properties>
/client_sasl.properties --replication-factor 3 --partitions 1 --topic ExampleTopicName -
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-listBootstrapBrokerStringSaslScram
--topicExampleTopicName
--producer.config client_sasl.properties -
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-serverBootstrapBrokerStringSaslScram
--topicExampleTopicName
--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-serverBootstrapBrokerStringSaslScram
--topicExampleTopicName
--max-messages 1000 --consumer.config client_sasl.properties