Apache Kafka é uma plataforma de streaming de eventos distribuída de código aberto desenvolvida pela Apache Software Foundation. Isso foi escrito nas linguagens de programação Scala e Java. Você pode instalar o Kafka em qualquer plataforma Java compatível.
Este tutorial descreveu o tutorial passo a passo para instalar o Apache Kafka no sistema Ubuntu 20.04 LTS Linux. Você também aprenderá a criar tópicos no Kafka e a executar nós de produtor e consumidor.
Pré-requisitos
Você deve ter acesso de conta com privilégios sudo ao sistema Ubuntu 20.04 Linux.
Etapa 1 – Instalando o Java
O Apache Kafka pode ser executado em todas as plataformas Java com suporte. Para configurar o Kafka no sistema Ubuntu, você precisa instalar o java primeiro. Como sabemos, o Oracle java já está disponível comercialmente, por isso estamos usando sua versão open source OpenJDK.
Execute o comando abaixo para instalar o OpenJDK em seu sistema a partir dos PPAs oficiais.
atualização do apt sudo sudo apt install default-jdk
Verifique a versão Java ativa atual.
java --version
versão openjdk "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (compilação 11.0.9.1 + 1-Ubuntu-0ubuntu1.20.04)
Servidor VM OpenJDK de 64 bits (compilação 11.0.9.1 + 1-Ubuntu-0ubuntu1.20.04, modo misto, compartilhamento)
Etapa 2 – Baixe o Apache Kafka mais recente
Baixe os arquivos binários do Apache Kafka de seu site oficial de download . Você também pode selecionar qualquer espelho próximo para fazer o download.
wget http://www-us.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz
Em seguida, extraia o arquivo compactado
tar xzf kafka_2.13-2.7.0.tgz mv kafka_2.13-2.7.0 / usr / local / kafka
Etapa 3 – Criação de arquivos de unidade Systemd
Agora, você precisa criar arquivos de unidade systemd para os serviços Zookeeper e Kafka. O que o ajudará a iniciar / interromper o serviço Kafka de maneira fácil.
Primeiro, crie um arquivo de unidade systemd para Zookeeper:
vim /etc/systemd/system/zookeeper.service
E adicione o seguinte conteúdo:
[Unidade] Descrição = servidor Apache Zookeeper Documentação = http: //zookeeper.apache.org Requer = network.target remote-fs.target Depois de = network.target remote-fs.target [Serviço] Tipo = simples ExecStart = / usr / local / kafka / bin / zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop = / usr / local / kafka / bin / zookeeper-server-stop.sh Reiniciar = anormal [Instalar] WantedBy = multi-user.target
Salve o arquivo e feche-o.
A seguir, para criar um arquivo de unidade systemd para o serviço Kafka:
vim /etc/systemd/system/kafka.service
Adicione o conteúdo abaixo. Certifique-se de definir o caminho JAVA_HOME correto de acordo com o Java instalado em seu sistema.
[Unidade] Descrição = Servidor Apache Kafka Documentation = http: //kafka.apache.org/documentation.html Requer = zookeeper.service [Serviço] Tipo = simples Environment = "JAVA_HOME = / usr / lib / jvm / java-1.11.0-openjdk-amd64" ExecStart = / usr / local / kafka / bin / kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop = / usr / local / kafka / bin / kafka-server-stop.sh [Instalar] WantedBy = multi-user.target
Salve o arquivo e feche.
Recarregue o daemon systemd para aplicar as novas alterações.
systemctl daemon-reload
Etapa 4 – Inicie o serviço Kafka e Zookeeper
Primeiro, você precisa iniciar o serviço ZooKeeper e, em seguida, iniciar o Kafka. Use o comando systemctl para iniciar a instância do ZooKeeper de nó único.
sudo systemctl start zookeeper
Agora inicie o servidor Kafka e veja o status de execução:
sudo systemctl start kafka sudo systemctl status kafka
Tudo feito. A instalação do Kafka foi concluída com sucesso. A parte deste tutorial o ajudará a trabalhar com o servidor Kafka.
Etapa 5 – Criar um tópico no Kafka
O Kafka fornece vários scripts de shell pré-construídos para trabalhar nele. Primeiro, crie um tópico denominado “testTopic” com uma única partição com uma única réplica:
cd / usr / local / kafka bin / kafka-topics.sh --create --zookeeper localhost: 2181 --fator de replicação 1 --partições 1 --topic testTopic Criado o tópico testTopic.
O fator de replicação descreve quantas cópias de dados serão criadas. Como estamos executando com uma única instância, mantenha este valor 1.
Defina as opções de partições como o número de corretores pelos quais deseja que seus dados sejam divididos. Como estamos trabalhando com uma única corretora mantenha este valor 1.
Você pode criar vários tópicos executando o mesmo comando acima. Depois disso, você pode ver os tópicos criados no Kafka executando o comando abaixo:
bin / kafka-topics.sh --list --zookeeper localhost: 2181 [resultado] testTopic
Como alternativa, em vez de criar tópicos manualmente, você também pode configurar seus brokers para criar tópicos automaticamente quando um tópico inexistente for publicado.
Etapa 6 – enviar e receber mensagens no Kafka
O “produtor” é o processo responsável por colocar os dados em nosso Kafka. O Kafka vem com um cliente de linha de comando que obtém a entrada de um arquivo ou da entrada padrão e a envia como mensagens para o cluster Kafka. O Kafka padrão envia cada linha como uma mensagem separada.
Vamos executar o produtor e, em seguida, digitar algumas mensagens no console para enviar ao servidor.
bin / kafka-console-producer.sh --broker-list localhost: 9092 --topic testTopic > Bem-vindo ao kafka > Este é o meu primeiro tópico >
Você pode sair deste comando ou manter este terminal em execução para mais testes. Agora abra um novo terminal para o processo do consumidor Kafka na próxima etapa.
Etapa 7 – Uso do consumidor Kafka
O Kafka também tem um consumidor de linha de comando para ler dados do cluster Kafka e exibir mensagens na saída padrão.
bin / kafka-console-consumer.sh --bootstrap-server localhost: 9092 --topic testTopic --from-begin Bem vindo ao kafka Este é o meu primeiro tópico
Agora, se você ainda estiver executando o produtor Kafka (Etapa # 6) em outro terminal. Basta digitar algum texto no terminal do produtor. ficará imediatamente visível no terminal do consumidor. Veja a captura de tela abaixo do produtor e consumidor Kafka trabalhando:
Conclusão
Este tutorial ajudou você a instalar e configurar o serviço Apache Kafka em um sistema Ubuntu. Além disso, você aprendeu a criar um novo tópico no servidor Kafka e a executar um processo de produção e consumidor de amostra com o Apache Kafka.