As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solução de problemas do MSK como fonte
Esta seção descreve as etapas comuns de solução de problemas ao usar o MSK como fonte
nota
Para solucionar problemas de processamento, transformação ou entrega do S3, consulte as seções anteriores
Falha da criação do hose
Verifique o seguinte se a criação do hose com MSK como fonte estiver falhando:
-
Verifique se o cluster do MSK de origem está no estado Ativo.
-
Se você estiver usando conectividade privada, certifique-se de que o link privado no cluster esteja ativado.
Se você estiver usando conectividade pública, certifique-se de que o acesso público no cluster esteja ativado.
-
Se você estiver usando conectividade privada, certifique-se de adicionar uma política baseada em recursos que permita que o Firehose crie um link privado. Consulte também: Permissões entre contas do MSK.
-
Certifique-se de que o perfil na configuração de origem tenha permissão para ingerir dados do tópico do cluster.
-
Garanta que seus grupos de segurança da VPC permitam tráfego de entrada nas portas usadas pelos servidores de bootstrap do cluster.
Hose suspenso
Verifique os pontos a seguir se o hose estiver no estado SUSPENSO
-
Verifique se o cluster do MSK de origem está no estado Ativo.
-
Verifique se o tópico de origem existe. Caso o tópico tenha sido excluído e recriado, você também precisará excluir e recriar o fluxo do Firehose.
Hose com contrapressão
O valor de DataReadFromSource .Backpressured será 1 quando BytesPerSecondLimit cada partição for excedida ou se o fluxo normal de entrega for lento ou interrompido.
-
Se você estiver pressionando BytesPerSecondLimit , verifique a métrica DataReadFromSource .Bytes e solicite um aumento de limite.
-
Verifique os CloudWatch registros, as métricas de destino, as métricas de transformação de dados e as métricas de conversão de formato para identificar os gargalos.
Atualidade incorreta de dados
A atualidade dos dados parece incorreta
-
O Firehose calcula a atualidade dos dados com base no timestamp do registro consumido. Para garantir que esse timestamp seja registrado corretamente quando o registro do produtor persiste nos registros do agente do Kafka, defina a configuração do tipo de timestamp do tópico Kafka como
message.timestamp.type=LogAppendTime.
Problemas de conexão de cluster do MSK
O procedimento a seguir explica como é possível validar a conectividade com clusters do MSK. Para obter detalhes sobre a configuração do cliente do Amazon MSK, consulte Conceitos básicos de uso do Amazon MSK no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.
Para validar a conectividade com clusters do MSK
Crie uma instância AL2 Amazon EC2 baseada em UNIX (preferencialmente). Se você tiver somente a conectividade VPC habilitada em seu cluster, certifique-se de que sua EC2 instância seja executada na mesma VPC. Faça SSH para a instância quando disponível. Para obter mais informações, consulte este tutorial no Guia do EC2 usuário da Amazon.
Instale o Java usando o gerenciador de pacotes Yum executando o comando a seguir. Para obter mais informações, consulte as instruções de instalação no Guia do usuário do Amazon Corretto 8.
sudo yum install java-1.8.0Instale o cliente da AWS
executando o comando a seguir. curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/installFaça o download da versão 2.6* do cliente do Apache Kafka executando o comando a seguir.
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-
Acesse o diretório
kafka_2.12-2.6.2/libse execute o seguinte comando para baixar o arquivo JAR do IAM do 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 -
Crie o arquivo
client.propertiesna pasta bin do Kafka. -
Substitua
awsRoleArnpelo ARN do perfil que você usou na suaSourceConfigurationdo Firehose e verifique a localização do certificado. Permita que seu usuário AWS cliente assuma a funçãoawsRoleArn. AWS o usuário cliente tentará assumir a função que você especificou aqui.[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 Execute o comando do Kafka a seguir para listar tópicos. Se sua conexão for pública, use os servidores de Bootstrap de endpoints públicos. Se sua conexão for privada, use os servidores de Bootstrap de endpoints privados.
bin/kafka-topics.sh --list --bootstrap-server<bootstrap servers>--command-config bin/client.propertiesSe a conexão obtiver êxito, você verá um resultado semelhante ao exemplo a seguir.
[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_offsetsSe você tiver algum problema ao executar o script anterior, verifique se os servidores de bootstrap fornecidos estão acessíveis na porta especificada. Para fazer isso, é possível baixar e usar o telnet ou um utilitário similar, conforme mostrado no comando a seguir.
sudo yum install telnet telnet<bootstrap servers><port>Se o teste obtiver êxito, você verá a resultado a seguir. Isso significa que você é capaz de se conectar ao seu cluster do MSK em sua VPC local e que os servidores de bootstrap estão íntegros na porta especificada.
Connected to ..Se a solicitação não obtiver êxito, verifique as regras de entrada no grupo de segurança da sua VPC. Como exemplo, é possível usar as propriedades a seguir na regra de entrada.
Type: All traffic Port: Port used by the bootstrap server (e.g. 14001) Source: 0.0.0.0/0Tente novamente a conexão telnet conforme mostrado na etapa anterior. Se você ainda não conseguir se conectar ou se sua conexão do Firehose ainda estiver falhando, entre em contato com o suporte da AWS
.