Este manual fornece instruções detalhadas para configurar e executar um projeto de coleta e armazenamento de dados que utiliza o Apache Kafka como ferramenta de streaming em uma máquina virtual (VM) rodando Ubuntu. O projeto permite a coleta de diversos tipos de dados, incluindo eventos, PDFs, imagens, vídeos e documentos do Office, e armazena-os localmente.
Criadores: Aline Couto, Carolina Atilli, Davi Santos e Fábio Emanuel.
- Pré-requisitos
- Instalação e Configuração
- Configuração do Projeto
- Execução do Kafka
- Criação de Tópico e Mensagens no Kafka
- Execução do Produtor e Consumidor
- Armazenamento Local
- Testes e Validação
- Contribuições
- Licença
- Máquina virtual com Ubuntu instalado.
- Acesso ao terminal com permissões de administrador.
- Git instalado para clonar o repositório.
- Conhecimento básico de comandos Linux.
-
Atualize os pacotes do sistema:
sudo apt update sudo apt upgrade -y
O Apache Kafka requer Java instalado no sistema.
-
Instale o OpenJDK:
sudo apt install default-jdk -y
-
Verifique a instalação do Java:
java -version
-
Baixe a última versão do Kafka:
wget https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.8.0.tgz
-
Extraia o arquivo baixado:
tar -xzf kafka_2.13-3.8.0.tgz
-
Mova o diretório extraído para
/usr/local/kafka:sudo mv kafka_2.13-3.8.0 /usr/local/kafka
Clone o repositório do projeto no GitHub:
git clone https://github.com/seu_usuario/seu_projeto.gitSubstitua seu_usuario e seu_projeto pelo nome de usuário e nome do repositório.
/producer: Contém o código fonte do produtor de dados./consumer: Contém o código fonte do consumidor de dados./data_storage: Diretório onde os dados serão armazenados localmente.README.md: Documentação do projeto.
Antes de iniciar o produtor e o consumidor, é necessário iniciar o ZooKeeper e o servidor Kafka.
-
Navegue até o diretório do Kafka:
cd /usr/local/kafka -
Inicie o ZooKeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
Nota: Recomenda-se executar este comando em uma janela de terminal separada.
-
Em uma nova janela de terminal, inicie o servidor Kafka:
cd /usr/local/kafka bin/kafka-server-start.sh config/server.properties
Com o Kafka rodando, crie um tópico chamado test-topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1Envie uma mensagem para o tópico test-topic:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092Depois de executar este comando, você pode digitar uma mensagem e pressionar Enter para enviá-la. Por exemplo:
Hello, Kafka!
Consuma mensagens do tópico test-topic:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092Esse comando vai exibir as mensagens do tópico a partir do início.
O produtor envia os dados (eventos, PDFs, imagens, vídeos, documentos do Office) para um tópico Kafka.
-
Navegue até o diretório do produtor:
cd seu_projeto/producer -
Instale as dependências necessárias (se aplicável):
pip install -r requirements.txt
-
Configure o produtor:
Verifique o arquivo
config/producer_config.jsone ajuste as configurações conforme necessário (por exemplo, endereço do servidor Kafka, tópico). -
Execute o produtor:
python producer.py
O consumidor recebe os dados do tópico Kafka e os armazena localmente.
-
Navegue até o diretório do consumidor:
cd seu_projeto/consumer -
Instale as dependências necessárias (se aplicável):
pip install -r requirements.txt
-
Configure o consumidor:
Verifique o arquivo
config/consumer_config.jsone ajuste as configurações conforme necessário. -
Execute o consumidor:
python consumer.py
Os dados consumidos serão armazenados no diretório /data_storage. Certifique-se de que este diretório existe:
mkdir -p seu_projeto/data_storage-
Teste de Envio de Dados:
- Utilize o produtor para enviar diferentes tipos de dados.
- Verifique os logs para confirmar o envio bem-sucedido.
-
Verificação do Armazenamento:
- Confirme que os dados estão sendo armazenados corretamente no diretório
data_storage. - Verifique a integridade dos arquivos armazenados.
- Confirme que os dados estão sendo armazenados corretamente no diretório
-
Monitoramento:
- Use ferramentas como o Kafka Monitor ou o Kafka Manager para monitorar os tópicos e as mensagens.
Contribuições são bem-vindas! Para contribuir:
-
Faça um fork do repositório.
-
Crie uma nova branch com a sua feature ou correção de bug:
git checkout -b minha-feature
-
Faça commit das suas alterações:
git commit -m "Minha nova feature" -
Envie para o branch principal:
git push origin minha-feature
-
Abra um Pull Request no GitHub.
Este projeto está licenciado sob a Licença MIT.
Observação: Certifique-se de que todas as dependências e versões das ferramentas estejam compatíveis. Para mais detalhes, consulte a documentação oficial do Apache Kafka e das bibliotecas utilizadas no projeto.