Preciso excluir o tópico test
no Apache Kafka 0.8.1.1.
Conforme expresso na documentação aqui , eu executei:
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
No entanto, isso resulta na seguinte mensagem:
Command must include exactly one action: --list, --describe, --create or --alter
Como posso deletar este tópico?
apache-kafka
EmPak5
fonte
fonte
Respostas:
Excluir o tópico nem sempre funciona no 0.8.1.1
A exclusão deve funcionar na próxima versão, 0.8.2
É possível deletar um tópico?
Jira KAFKA-1397
fonte
Parece que o comando de exclusão não foi documentado oficialmente no Kafka 0.8.1.x por causa de um bug conhecido ( https://issues.apache.org/jira/browse/KAFKA-1397 ).
No entanto, o comando ainda foi enviado no código e pode ser executado como:
Nesse ínterim, o bug foi corrigido e o comando de exclusão agora está oficialmente disponível no Kafka 0.8.2.0 como:
fonte
Adicione a linha abaixo em $ {kafka_home} /config/server.properties
Reinicie o servidor kafka com a nova configuração:
Exclua os tópicos que deseja:
fonte
Andrea está certa. podemos fazer isso usando a linha de comando.
E ainda podemos programá-lo, por
Na verdade, eu não recomendo que você exclua o tópico do Kafka 0.8.1.1. Eu posso excluir este tópico por este método, mas se você verificar o log do zookeeper, a exclusão bagunça tudo.
fonte
Você pode excluir um tópico específico do kafka (exemplo
test
:) do comando shell do zookeeper (zookeeper-shell.sh
). Use o comando abaixo para deletar o tópicoexemplo:
fonte
Etapas para excluir um ou mais tópicos no Kafka
Para excluir tópicos no kafka, a opção de exclusão precisa ser habilitada no servidor Kafka.
Exclua um Tópico no Kafka digite o seguinte comando
kafka-topics.sh --delete --zookeeper localhost: 2181 --topic
Para excluir mais de um tópico do kafka
(bom para fins de teste, onde criei vários tópicos e tive que excluí-los para diferentes cenários)
bin / kafka-topics.sh --list --zookeeper localhost: 2181
se nenhum tópico estiver listado, todos os tópicos foram excluídos com sucesso. Se os tópicos estiverem listados, a exclusão não foi bem-sucedida. Tente as etapas acima novamente ou reinicie o computador.
fonte
server.properties
arquivo. Você tem que adicionar essa linha manualmente.Estas etapas excluirão todos os tópicos e dados
fonte
O comando:
infelizmente, apenas marca o tópico para exclusão.
Eliminação não acontece.
Isso cria problemas, ao testar qualquer script, que prepara a configuração do Kafka.
Tópicos conectados:
fonte
Adicionando às respostas acima, é necessário excluir os metadados associados a esse tópico no caminho de compensação do consumidor do zookeeper.
bin/zookeeper-shell.sh zookeeperhost:port
rmr /consumers/<sample-consumer-1>/offsets/<deleted-topic>
Caso contrário, o atraso será negativo nas ferramentas de monitoramento kafka baseadas no zookeeper.
fonte
Conforme mencionado no doc aqui
Certifique-se de que delete.topic.enable = true
fonte
fonte
Se você tiver problemas para excluir os tópicos, tente excluí-los usando:
comando. Então, a fim de verificar o processo de exclusão, vá para o diretório de logs kafka, que normalmente está localizado em
/tmp/kafka-logs/
, e exclua oyour_topic_name
arquivo viarm -rf your_topic_name
comando.Lembre-se de monitorar todo o processo por meio de uma ferramenta de gerenciamento kafka como
Kafka Tool
.O processo mencionado acima removerá os tópicos sem reiniciar o servidor kafka.
fonte
Etapa 1: verifique se você está conectado ao zookeeper e ao Kafka em execução
Etapa 2: Para deletar o tópico Kafka, execute Kafka-topic (Mac) ou Kafka-topic.sh se usar (linux / Mac) adicione a porta e --topic com o nome do seu tópico e --delete apenas exclua o tópico com sucesso.
fonte
Primeiro, você executa este comando para excluir seu tópico:
Liste os tópicos ativos para verificar a exclusão completa:
fonte