Come posso risolvere gli errori che ricevo quando provo a connettermi al mio cluster Amazon MSK?
Ricevo errori quando provo a connettermi al mio cluster Streaming gestito da Amazon per Apache Kafka (Amazon MSK).
Risoluzione
Errori non correlati a un tipo di autenticazione specifico
Quando provi a connetterti al tuo cluster Amazon MSK, potresti ricevere uno dei seguenti errori che non è correlato al tipo di autenticazione che utilizzi.
java.lang.OutOfMemoryError: Java heap space
Ricevi l'errore OutOfMemoryError quando esegui un comando per le operazioni del cluster senza il file delle proprietà del client. Per risolvere questo problema, includi le proprietà appropriate in base al tipo di autenticazione nel file client.properties.
Esempio di comando con solo una porta di autenticazione AWS Identity and Access Management (IAM):
./kafka-topics.sh --create --bootstrap-server $BOOTSTRAP:9098 --replication-factor 3 --partitions 1 --topic TestTopic
Esempio di comando con una porta di autenticazione IAM e il file delle proprietà del client:
./kafka-topics.sh --create --bootstrap-server $BOOTSTRAP:9098 --command-config client.properties --replication-factor 3 --partitions 1 --topic TestTopic
org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: createTopics
Potresti ricevere l'errore TimeoutException in caso di configurazione errata della rete tra l'applicazione client e il cluster Amazon MSK.
Per risolvere questo problema, esegui il seguente test di connettività dal computer client:
telnet bootstrap-broker port-number
Nota: sostituisci bootstrap-broker con uno degli indirizzi del broker del tuo cluster Amazon MSK. Sostituisci port-number con il valore di porta appropriato in base all'autenticazione attivata per il tuo cluster.
Se la macchina client è in grado di accedere ai broker, non ci sono problemi di connettività. Se il computer client è in grado di accedere ai broker, non ci sono problemi di connettività. Controlla le regole in entrata e in uscita per il gruppo di sicurezza.
org.apache.kafka.common.errors.TopicAuthorizationException: Not authorized to access topics: [test_topic]
Ricevi l'errore TopicAuthorizationException quando utilizzi un'autenticazione IAM e la tua policy di accesso blocca le operazioni sui topic, come WriteData e ReadData.
Nota: i limiti delle autorizzazioni e le policy di controllo dei servizi bloccano anche il tentativo di un utente di connettersi al cluster senza l'autorizzazione richiesta.
Se utilizzi un'autenticazione che non è IAM, controlla se hai aggiunto liste di controllo degli accessi (ACL) a livello di topic che bloccano le operazioni.
Esegui il seguente comando per elencare le ACL applicate a un topic:
bin/kafka-acls.sh --bootstrap-server $BOOTSTRAP:PORT --command-config adminclient-configs.conf --list --topic testtopic
ZooKeeperClientTimeoutException
Potresti ricevere l'errore ZookeeperClientTimeoutException quando il client tenta di connettersi al cluster tramite la stringa di Apache ZooKeeper e non è possibile stabilire la connessione. Potresti ricevere questo errore anche quando la stringa di Apache ZooKeeper non è corretta.
Esempio di stringa di Apache Zookeeper errata:
./kafka-topics.sh --zookeeper z-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:2181,z-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:2181,z-3.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:2181 --list[2020-04-10 23:58:47,963] WARN Client session timed out, have not heard from server in 10756ms for sessionid 0x0 (org.apache.zookeeper.ClientCnxn)
Esempio di output:
[2020-04-10 23:58:58,581] WARN Client session timed out, have not heard from server in 10508ms for sessionid 0x0 (org.apache.zookeeper.ClientCnxn) [2020-04-10 23:59:08,689] WARN Client session timed out, have not heard from server in 10004ms for sessionid 0x0 (org.apache.zookeeper.ClientCnxn) Exception in thread "main" kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING at kafka.zookeeper.ZooKeeperClient.$anonfun$waitUntilConnected$3(ZooKeeperClient.scala:259) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:253) at kafka.zookeeper.ZooKeeperClient.waitUntilConnected(ZooKeeperClient.scala:255) at kafka.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.scala:113) at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1858) at kafka.admin.TopicCommand$ZookeeperTopicService$.apply(TopicCommand.scala:321) at kafka.admin.TopicCommand$.main(TopicCommand.scala:54) at kafka.admin.TopicCommand.main(TopicCommand.scala)
Per risolvere l’errore, esegui le seguenti azioni:
- Verifica di utilizzare la stringa di Apache ZooKeeper corretta.
- Assicurati che il gruppo di sicurezza per il tuo cluster Amazon MSK consenta il traffico in entrata dal gruppo di sicurezza del client sulle porte di Apache ZooKeeper.
Il broker potrebbe non essere disponibile
"Topic 'topicName' not present in metadata after 60000 ms. or Connection to node -<node-id> (<broker-host>/<broker-ip>:<port>) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)"
Potresti ricevere l'errore precedente quando si verifica una delle seguenti condizioni:
- Il producer o il consumer non è in grado di connettersi all'host e alla porta del broker.
- La stringa del broker non è corretta.
Se ricevi questo errore anche se la connettività del client o del broker inizialmente funzionava, il broker potrebbe non essere disponibile.
Potresti ricevere questo errore anche quando utilizzi la stringa del broker per produrre dati per accedere al cluster dall'esterno del cloud privato virtuale (VPC).
Esempio di stringa del broker producer:
./kafka-console-producer.sh --broker-list b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092 --topic test
Esempio di output:
[2020-04-10 23:51:57,668] ERROR Error when sending message to topic test with key: null, value: 1 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback) org.apache.kafka.common.errors.TimeoutException: Topic test not present in metadata after 60000 ms.
Esempio di stringa del broker consumer:
./kafka-console-consumer.sh --bootstrap-server b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092 --topic test
Esempio di output:
[2020-04-11 00:03:21,157] WARN [Consumer clientId=consumer-console-consumer-88994-1, groupId=console-consumer-88994] Connection to node -1 (b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com/172.31.6.19:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient) [2020-04-11 00:04:36,818] WARN [Consumer clientId=consumer-console-consumer-88994-1, groupId=console-consumer-88994] Connection to node -2 (b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com/172.31.44.252:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient) [2020-04-11 00:05:53,228] WARN [Consumer clientId=consumer-console-consumer-88994-1, groupId=console-consumer-88994] Connection to node -1 (b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com/172.31.6.19:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
Per risolvere il problema, intraprendi le seguenti azioni:
- Assicurati di utilizzare la stringa e la porta del broker corrette.
- Se il broker non è disponibile, controlla la metrica ActiveControllerCount di Amazon CloudWatch per verificare che il controller fosse attivo durante il periodo. Se il valore della metrica non è 1, uno dei broker del cluster potrebbe non essere disponibile.
- Controlla la metrica ZooKeeperSessionState per confermare che i broker sono in comunicazione continua con i nodi Apache ZooKeeper.
- Per capire perché il broker non ha funzionato, controlla la metrica KafkaDataLogsDiskUsed per determinare se il broker ha esaurito lo spazio di archiviazione. Per ulteriori informazioni, consulta Metriche di Amazon MSK per il monitoraggio dei broker Standard con CloudWatch.
- Verifica se la configurazione di rete ha causato il problema. Le risorse Amazon MSK vengono assegnate all'interno del VPC. Devi connetterti al cluster Amazon MSK o produrre e utilizzare dal cluster su una rete privata nello stesso VPC. Per informazioni, consulta Impossibile accedere al cluster dall'interno di AWS: problemi di rete e Come faccio a connettermi al mio cluster Amazon MSK dall'interno della rete AWS ma dall'esterno dell'Amazon VPC del cluster?
Topic non presente nei metadati
"org.apache.kafka.common.errors.TimeoutException: Topic test not present in metadata after 60000 ms"
Ricevi l'errore precedente quando il topic su cui stai tentando di scrivere non esiste in Amazon MSK. Verifica se il topic esiste nel tuo cluster Amazon MSK. Verifica di aver utilizzato la stringa e la porta del broker corrette nella configurazione del client. Se il topic non esiste, crealo in Amazon MSK o imposta auto.create.enable su true nella configurazione del cluster. Quando auto.create.enable è impostato su true, i topic vengono creati automaticamente.
Potresti ricevere questo errore anche quando il topic esiste ma non esiste la partizione. Ad esempio, disponi di una singola partizione\ [0] e il producer tenta di inviare alla partizione[1].
Assicurati che il gruppo di sicurezza del tuo cluster Amazon MSK consenta il traffico in entrata dal gruppo di sicurezza dell'applicazione client sulle porte appropriate.
Se l'errore si verifica all'improvviso, mentre prima il sistema era funzionante, esegui le seguenti azioni per verificare lo stato dei tuoi broker Amazon MSK:
- Controlla la metrica ActiveControllerCount. Il valore deve essere 1. Quando la metrica ha un altro valore, uno dei broker del cluster non è disponibile.
- Controlla la metrica ZookeeprSessionState per verificare che i broker siano in comunicazione continua con i nodi ZooKeeper.
- Monitora la metrica KafkaDatalogsDiskUsed per assicurarti che il broker non abbia esaurito lo spazio di archiviazione.
Verifica di non aver provato ad accedere al cluster dall'esterno del VPC senza la configurazione corretta. Per impostazione predefinita, le risorse Amazon MSK vengono assegnate all'interno del VPC. È necessario connettersi tramite una rete privata nello stesso VPC.
Se stai cercando di accedere al cluster dall'esterno del VPC, assicurati di impostare le configurazioni di rete necessarie, come VPN Client di AWS o AWS Direct Connect.
Configurazione errata del producer o del consumer client Kafka
Per risolvere la configurazione errata del producer o del consumer di un client Kafka, verifica che la configurazione del tuo cliente includa i server bootstrap corretti. Verifica inoltre che la configurazione includa le impostazioni di sicurezza necessarie e le versioni di compatibilità di Kafka-client e Spring Boot.
Errori specifici dell'autenticazione di client TLS
Il broker Bootstrap è disconnesso
"Bootstrap broker <broker-host>:9094 (id: -<broker-id> rack: null) disconnected"
Potresti ricevere l'errore precedente quando provi a connetterti a un cluster con l'autenticazione di client SSL/TLS attivata.
Potresti ricevere questo errore anche quando il producer o il consumer tenta di connettersi a un cluster crittografato SSL/TLS tramite la porta TLS 9094 e non supera la configurazione SSL/TLS. Per risolvere questo problema, imposta la configurazione SSL/TLS.
Nell'esempio seguente, si verifica un errore quando il producer tenta di connettersi al cluster:
./kafka-console-producer.sh --broker-list b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 --topic test[2020-04-10 18:57:58,019] WARN [Producer clientId=console-producer] Bootstrap broker b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -2 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
Esempio di output:
[2020-04-10 18:57:58,342] WARN [Producer clientId=console-producer] Bootstrap broker b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -2 rack: null) disconnected (org.apache.kafka.clients.NetworkClient) [2020-04-10 18:57:58,666] WARN [Producer clientId=console-producer] Bootstrap broker b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
Nell'esempio seguente, si verifica un errore quando il consumer tenta di connettersi al cluster:
./kafka-console-consumer.sh --bootstrap-server b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 --topic test[2020-04-10 19:09:03,277] WARN [Consumer clientId=consumer-console-consumer-79102-1, groupId=console-consumer-79102] Bootstrap broker b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
Esempio di output:
[2020-04-10 19:09:03,596] WARN [Consumer clientId=consumer-console-consumer-79102-1, groupId=console-consumer-79102] Bootstrap broker b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient) [2020-04-10 19:09:03,918] WARN [Consumer clientId=consumer-console-consumer-79102-1, groupId=console-consumer-79102] Bootstrap broker b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -2 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
Se l'autenticazione del client è attivata per il tuo cluster, devi includere parametri aggiuntivi per la tua AWS Private Certificate Authority. Per ulteriori informazioni, consulta Autenticazione reciproca di client TLS per Amazon MSK.
Errore di accesso al keystore
"ERROR Modification time of key store could not be obtained: <configure-path-to-truststore>"
-oppure-
"Failed to load keystore"
Potresti ricevere gli errori precedenti quando configuri erroneamente il truststore e carichi i file truststore per il producer e il consumer. Per risolvere questo problema, fornisci il percorso corretto per il file truststore nella configurazione SSL/TLS.
Esempio di stringa del broker consumer errata:
./kafka-console-consumer --bootstrap-server b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 --topic test --consumer.config /home/ec2-user/ssl.config
Esempio di output:
[2020-04-11 10:39:12,194] ERROR Modification time of key store could not be obtained: /home/ec2-ser/certs/kafka.client.truststore.jks (org.apache.kafka.common.security.ssl.SslEngineBuilder) java.nio.file.NoSuchFileException: /home/ec2-ser/certs/kafka.client.truststore.jks [2020-04-11 10:39:12,253] ERROR Unknown error when running consumer: (kafka.tools.ConsoleConsumer$) Caused by: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: Failed to load SSL keystore /home/ec2-ser/certs/kafka.client.truststore.jks of type JKS
Questo errore può verificarsi anche quando il file del truststore o del keystore è danneggiato o la password del file del truststore non è corretta.
Errore di handshake SSL/TLS
"Error when sending message to topic test with key: null, value: 0 bytes with error (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback) org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed"
-oppure-
"Connection to node -<broker-id> (<broker-hostname>/<broker-hostname>:9094) failed authentication due to: SSL handshake failed (org.apache.kafka.clients.NetworkClient)"
Potresti ricevere uno degli errori precedenti quando hai configurato in modo errato il keystore del producer o del consumer e si verifica un errore di autenticazione. Assicurati di configurare correttamente il keystore.
Esempio di stringa del broker errata per il keystore del producer:
./kafka-console-producer --broker-list b-2.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-1.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-4.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094 --topic example --producer.config/home/ec2-user/ssl.config
Esempio di output:
[2020-04-11 11:13:19,286] ERROR [Producer clientId=console-producer] Connection to node -3 (b-4.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com/172.31.6.195:9094) failed authentication due to: SSL handshake failed (org.apache.kafka.clients.NetworkClient)
Esempio di stringa del broker errata per il keystore del consumer:
./kafka-console-consumer --bootstrap-server b-2.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-1.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-4.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094 --topic example --consumer.config/home/ec2-user/ssl.config
Esempio di output:
[2020-04-11 11:14:46,958] ERROR [Consumer clientId=consumer-1, groupId=console-consumer-46876] Connection to node -1 (b-2.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com/172.31.15.140:9094) failed authentication due to: SSL handshake failed (org.apache.kafka.clients.NetworkClient) [2020-04-11 11:14:46,961] ERROR Error processing message, terminating consumer process: (kafka.tools.ConsoleConsumer$) org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed
La password del keystore non è corretta
"java.io.IOException: keystore password was incorrect"
Potresti ricevere l'errore precedente quando la password per il keystore o per il truststore non è corretta.
Per risolvere questo problema, esegui il seguente comando per verificare se la password del keystore o del truststore è corretta:
keytool -list -keystore kafka.client.keystore.jksEnter keystore password: Keystore type: PKCS12 Keystore provider: SUN Your keystore contains 1 entry schema-reg, Jan 15, 2020, PrivateKeyEntry, Certificate fingerprint (SHA1): 4A:F3:2C:6A:5D:50:87:3A:37:6C:94:5E:05:22:5A:1A:D5:8B:95:ED
Se la password per il keystore o per il truststore non è corretta, potresti ricevere il seguente errore:
"keytool error: java.io.IOException: keystore password was incorrect"
Per visualizzare l'output dettagliato del comando precedente aggiungi il flag -v:
keytool -list -v -keystore kafka.client.keystore.jks
Inoltre, puoi eseguire i comandi precedenti per verificare se il keystore è danneggiato.
Potresti ricevere questo errore anche quando configuri erroneamente la chiave segreta associata all'alias nella configurazione SSL/TLS del producer e del consumer. Per verificare se questo è il problema, esegui il seguente comando:
keytool -keypasswd -alias schema-reg -keystore kafka.client.keystore.jks
Se la password per il segreto dell'alias è corretta, ti viene chiesto di inserire una nuova password per la chiave segreta:
Enter keystore password: Enter key password for <schema-reg> New key password for <schema-reg>: Re-enter new key password for <schema-reg>:
In caso contrario, il comando non funziona e restituisce il seguente messaggio:
"keytool error: java.security.UnrecoverableKeyException: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption."
Per verificare se un alias fa parte del keystore, esegui il seguente comando:
keytool -list -keystore kafka.client.keystore.jks -alias schema-reg
Esempio di output:
Enter keystore password: schema-reg, Jan 15, 2020, PrivateKeyEntry, Certificate fingerprint (SHA1): 4A:F3:2C:6A:5D:50:87:3A:37:6C:94:5E:05:22:5A:1A:D5:8B:95:ED
Errori specifici dell'autenticazione di client IAM
Autenticazione non riuscita, accesso negato
"Connection to node -1 (b-1.testcluster.abc123.c2.kafka.us-east-1.amazonaws.com/10.11.111.123:9098) failed authentication due to: Access denied"
-oppure-
"org.apache.kafka.common.errors.SaslAuthenticationException: Access denied"
Ricevi uno degli errori precedenti quando le policy di accesso, i limiti delle autorizzazioni e le SCP bloccano gli utenti che non superano l'autorizzazione richiesta.
Per risolvere questo problema, utilizza il controllo degli accessi IAM per assicurarti che il ruolo IAM possa eseguire operazioni sul cluster.
SaslAuthenticationException
"org.apache.kafka.common.errors.SaslAuthenticationException: Too many connects"
-oppure-
"org.apache.kafka.common.errors.SaslAuthenticationException: Internal error"
Ricevi gli errori precedenti quando esegui il cluster sul tipo di broker kafka.t3.small con controllo degli accessi IAM e superi la quota di connessioni. Il tipo di istanza kafka.t3.small accetta solo una connessione TCP per broker al secondo. Quando superi la quota di connessioni, il test di creazione ha esito negativo. Per ulteriori informazioni, consulta Come funziona Amazon MSK con IAM.
Per risolvere questi problemi, intraprendi le seguenti azioni:
- Nella configurazione del worker Amazon MSK Connect, aggiorna i valori per reconnect.backoff.ms e reconnect.backoff.max.ms a 1.000 o più.
- Esegui l'upgrade a un tipo di istanza del broker più grande, ad esempio kafka.m5.large. Per ulteriori informazioni, consulta Dimensioni corrette del cluster: numero di partizioni per broker Standard.
Errori specifici dell'autenticazione di client SASL/SCRAM
Il meccanismo SASL del client è disattivato
"Connection to node -1 (b-1-testcluster.abc123.c7.kafka.us-east-1.amazonaws.com/3.11.111.123:9098) failed authentication due to: Client SASL mechanism 'SCRAM-SHA-512' not enabled in the server, enabled mechanisms are [AWS_MSK_IAM]"
-oppure-
"Connection to node -1 (b-1-testcluster.abc123.c7.kafka.us-east-1.amazonaws.com/3.11.111.123:9096) failed authentication due to: Client SASL mechanism 'AWS_MSK_IAM' not enabled in the server, enabled mechanisms are [SCRAM-SHA-512]"
Ricevi gli errori precedenti quando il numero di porta non corrisponde al meccanismo SASL (Simple Authentication and Security Layer) nel file delle proprietà del client. Questo è il file delle proprietà utilizzato nel comando per eseguire le operazioni del cluster.
Per comunicare con i broker in un cluster che utilizza il meccanismo SASL/SCRAM (Simple Authentication and Security Layer/Salted Challenge Response Authentication Mechanism), utilizza le seguenti porte:
- Porta 9096 per l'accesso dall'interno di AWS
- Porta 9196 per l'accesso pubblico
Per comunicare con i broker in un cluster che utilizza il controllo degli accessi IAM, utilizza le porte 9098 per l'accesso dall'interno di AWS e la porta 9198 per l'accesso pubblico.
Errore di autenticazione di credenziali SASL
"Connection to node -1 (b-3.testcluster.abc123.c2.kafka.us-east-1.amazonaws.com/10.11.111.123:9096) failed authentication due to: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-512"
Assicurati di aver archiviato le credenziali utente in AWS Secrets Manager e di averle associate al cluster Amazon MSK.
Quando accedi al cluster tramite la porta 9096, l'utente e la password in AWS Secrets Manager devono coincidere con le proprietà del client.
Quando esegui il comando get-secret-value per recuperare i segreti, assicurati che la password in AWS Secrets Manager non contenga caratteri speciali.
ClusterAuthorizationException
"org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(processor=11, connectionId=INTERNAL_IP-INTERNAL_IP-0, session=Session(User:ANONYMOUS,/INTERNAL_IP), listenerName=ListenerName(REPLICATION_SECURE), securityProtocol=SSL, buffer=null) is not authorized"
Ricevi l'errore precedente quando entrambe le seguenti condizioni sono vere:
- L'autenticazione SASL/SCRAM per il tuo cluster Amazon MSK è attivata.
- resourceType è impostato su CLUSTER e operation è impostato su CLUSTER_ACTION nelle ACL del cluster.
Il cluster Amazon MSK non supporta le impostazioni precedenti perché impediscono la replica interna di Apache Kafka. Le identità dei broker appaiono come ANONYMOUS per le comunicazioni tra broker. Se il tuo cluster deve supportare le ACL e utilizzare l'autenticazione SASL/SCRAM, consenti all'utente ANONYMOUS di utilizzare l'operazione ALL.
Esegui il seguente comando per concedere l'operazione ALL all'utente ANONYMOUS:
./kafka-acls.sh --authorizer-propertieszookeeper.connect=example-ZookeeperConnectString --add --allow-principal User:ANONYMOUS --operation ALL --cluster
Informazioni correlate

Contenuto pertinente
- AWS UFFICIALEAggiornata 5 mesi fa
- AWS UFFICIALEAggiornata 2 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa