Resolução de problemas no Kafka

Introdução ao Apache Kafka

Mike Metzger

Data Engineering Consultant

Comportamentos "úteis"

  • Kafka tenta ajudar os usuários
  • Às vezes causa problemas em vez disso
  • Por padrão, um tópico não precisa existir antes de escrever
  • Pense no que acontece se você errar o nome do tópico (ex.: ordrs em vez de orders)

Foto de um cachorro confuso

1 Imagem cortesia de Dex Ezekiel no Unsplash
Introdução ao Apache Kafka

Exemplo "útil"

$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
orders
$ echo "Test message" | bin/kafka-console-producer.sh 
   --bootstrap-server localhost:9092 \
   --topic ordrs
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
orders
ordrs
Introdução ao Apache Kafka

Problemas de conectividade

  • Kafka é um serviço em rede
  • Qualquer problema de rede pode afetar as comunicações do Kafka
  • Veja a saída dos comandos para identificar possíveis problemas

bin\kafka-topics.sh --bootstrap-server localhost:9092 --list

WARN [AdminClient clientId=adminclient-1] 
  Connection to node -1 (localhost/127.0.0.1:9092) could not be established.
  Node may not be available. (org.apache.kafka.clients.NetworkClient)
  • Verifique se o serviço Kafka está em execução (ps ax | grep kafka, netstat -tlnp | grep 9092)
  • Verifique possíveis bloqueios de firewall
  • Confirme a porta/IP corretos
Introdução ao Apache Kafka

Outros problemas comuns

  • Consumidores:
    • Use --from-beginning se precisar de mensagens antigas
    • Lembre do --max-messages para ler só uma quantidade específica
  • Todas as ferramentas:
    • Não esqueça de incluir --bootstrap-server
    • A maioria dos erros é clara e aponta soluções prováveis
    • As ferramentas também têm a opção --help para mais detalhes
Introdução ao Apache Kafka

Vamos praticar!

Introdução ao Apache Kafka

Preparing Video For Download...