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à.
Risoluzione dei problemi relativi a MSK come origine
Questa sezione descrive le fasi comuni per la risoluzione dei problemi relativi all'utilizzo di MSK come origine
Nota
Per la risoluzione dei problemi di elaborazione, trasformazione o distribuzione di S3, consulta le sezioni precedenti
Creazione di hose non riuscita
Controllate quanto segue se la creazione del tubo con MSK As Source non funziona:
-
Verifica che lo stato del cluster MSK di origine sia attivo.
-
Se utilizzi la connettività privata, assicurati che Private Link sul cluster sia attivato.
Se utilizzi la connettività pubblica, assicurati che l'accesso pubblico sul cluster sia attivato.
-
Se utilizzi la connettività privata, assicurati di aggiungere una policy basata sulle risorse che consenta a Firehose di creare Private Link. Consultate anche: Autorizzazioni MSK per più account.
-
Assicurati che il ruolo nella configurazione del codice sorgente sia autorizzato a importare dati dall'argomento del cluster.
-
Assicurati che i tuoi gruppi di sicurezza VPC consentano il traffico in entrata sulle porte utilizzate dai server di bootstrap del cluster.
Hose sospeso
Controlla quanto segue se l'hose è in stato SOSPESO
-
Verifica che lo stato del cluster MSK di origine sia attivo.
-
Verifica che l'argomento di origine esista. Nel caso in cui l'argomento sia stato eliminato e ricreato, sarà necessario eliminare e ricreare anche lo stream Firehose.
Hose in contropressione
Il valore di DataReadFromSource .Backpressured sarà 1 quando BytesPerSecondLimit per partizione viene superato o se il normale flusso di distribuzione è lento o interrotto.
-
Se stai raggiungendo, controlla la metrica DataReadFromSource .Bytes e BytesPerSecondLimit richiedi un aumento del limite.
-
Controlla CloudWatch i log, le metriche di destinazione, le metriche di trasformazione dei dati e le metriche di conversione del formato per identificare i colli di bottiglia.
Aggiornamento dei dati non corretto
L'aggiornamento dei dati sembra errato
-
Firehose calcola l'aggiornamento dei dati in base al timestamp del record utilizzato. Per garantire che questo timestamp venga registrato correttamente quando il record del produttore viene mantenuto nei log del broker di Kafka, imposta la configurazione del tipo di timestamp dell'argomento Kafka su
message.timestamp.type=LogAppendTime.
Problemi di connessione al cluster MSK
La procedura seguente spiega come convalidare la connettività ai cluster MSK. Per informazioni dettagliate sulla configurazione del client Amazon MSK, consulta la Guida introduttiva all'uso di Amazon MSK nella Amazon Managed Streaming for Apache Kafka Developer Guide.
Per convalidare la connettività ai cluster MSK
Crea un'istanza AL2 Amazon EC2 basata su UNIX (preferibilmente). Se sul cluster è abilitata solo la connettività VPC, assicurati che l' EC2 istanza venga eseguita nello stesso VPC. Accedi tramite SSH all'istanza una volta che è disponibile. Per ulteriori informazioni, consulta questo tutorial nella Amazon EC2 User Guide.
Installa Java usando il gestore di pacchetti Yum eseguendo il comando seguente. Per ulteriori informazioni, consulta le istruzioni di installazione nella Guida per l'utente di Amazon Corretto 8.
sudo yum install java-1.8.0Installa il AWS client
eseguendo il comando seguente. curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/installScarica la versione 2.6* del client Apache Kafka eseguendo il comando seguente.
wget https://archive.apache.org/dist/kafka/2.6.2/kafka_2.12-2.6.2.tgz tar -xzf kafka_2.12-2.6.2.tgz-
Vai alla directory
kafka_2.12-2.6.2/libs, quindi esegui il comando per scaricare il file JAR IAM di Amazon MSK.wget https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.3/aws-msk-iam-auth-1.1.3-all.jar -
Crea il
client.propertiesfile nella cartella bin di Kafka. -
Sostituiscilo
awsRoleArncon il ruolo ARN che hai usato nel tuo FirehoseSourceConfiguratione verifica la posizione del certificato. Consenti all'utente AWS client di assumere il ruolo.awsRoleArnAWS l'utente client tenterà di assumere il ruolo che hai specificato qui.[ec2-user@ip-xx-xx-xx-xx bin]$ cat client.properties security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required awsRoleArn="<role arn>" awsStsRegion="<region name>"; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler awsDebugCreds=true ssl.truststore.location=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.amzn2.0.1.x86_64/jre/lib/security/cacerts ssl.truststore.password=changeit Esegui il seguente comando Kafka per elencare gli argomenti. Se la tua connessione è pubblica, usa i server Bootstrap degli endpoint pubblici. Se la tua connessione è privata, usa i server Bootstrap endpoint privati.
bin/kafka-topics.sh --list --bootstrap-server<bootstrap servers>--command-config bin/client.propertiesSe la richiesta ha esito positivo, dovresti vedere un output simile all'esempio seguente.
[ec2-user@ip-xx-xx-xx-xx kafka_2.12-2.6.2]$ bin/kafka-topics.sh --list --bootstrap-server<bootstrap servers>--command-config bin/client.properties [xxxx-xx-xx 05:49:50,877] WARN The configuration 'awsDebugCreds' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'ssl.truststore.location' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'sasl.jaas.config' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'sasl.client.callback.handler.class' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'ssl.truststore.password' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:50:21,629] WARN [AdminClient clientId=adminclient-1] Connection to node... __amazon_msk_canary __consumer_offsetsIn caso di problemi durante l'esecuzione dello script precedente, verifica che i server di bootstrap forniti siano raggiungibili sulla porta specificata. A tale scopo, è possibile scaricare e utilizzare telnet o un'utilità simile, come illustrato nel comando seguente.
sudo yum install telnet telnet<bootstrap servers><port>Se la richiesta ha esito positivo, si otterrà il seguente risultato. Ciò significa che puoi connetterti al tuo cluster MSK all'interno del tuo VPC locale e che i server di bootstrap sono integri sulla porta specificata.
Connected to ..Se la richiesta non va a buon fine, controlla le regole in entrata sul tuo gruppo di sicurezza VPC. Ad esempio, è possibile utilizzare le seguenti proprietà sulla regola in entrata.
Type: All traffic Port: Port used by the bootstrap server (e.g. 14001) Source: 0.0.0.0/0Riprova la connessione telnet come mostrato nel passaggio precedente. Se non riesci ancora a connetterti o se la connessione Firehose continua a fallire, contatta l'assistenza.AWS