anúncios

sexta-feira, 3 de dezembro de 2021

Configurando ambiente Apache Kafka no Docker

O objetivo desse post é explicar a configuração do Apache Kafka no ambiente Docker.

O Apache Kafka é um serviço de mensageria e o Kafdrop é o projeto web que visualiza informações de brokers Kafka dos tópicos existentes, consumers e mensagens encaminhadas no tópico.

Pré-requisto: Ter o Docker e Docker Compose instalado.

$ mkdir $HOME/ambiente-kafka-docker && cd $HOME/ambiente-kafka-docker

Crie o arquivo docker-compose.yml conforme o conteúdo a seguir:

Segue o conteúdo do arquivo docker-compose.yml para o ambiente Apache Kafka + ZooKeeper + Kafdrop).

O serviço zookeeper é criado com a imagem confluentinc/cp-zookeeper, que é a instância do ZooKeeper.

O serviço Kafka é criado com a imagem confluentinc/cp-kafka, que é a instância do Apache Kafka, utiliza a porta 9092 externo e internamente para o network broker-kafka na porta 29092. Esse container também é uma instância do ZooKeeper em depends_on.

O serviço Kafdrop, container que possibilitará o acessa via browser à interface de gerenciamento do Kafdrop na porta 19000. A variável de ambiente KAFKA_BROKERCONNECT foi configurada para se comunicar com o container kafka (depends_on) internamente na porta 29092.

docker-compose.yml


version: '3'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    networks: 
      - broker-kafka
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000

  kafka:
    image: confluentinc/cp-kafka:latest
    networks: 
      - broker-kafka
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

  kafdrop:
    image: obsidiandynamics/kafdrop:latest
    networks: 
      - broker-kafka
    depends_on:
      - kafka
    ports:
      - 19000:9000
    environment:
      KAFKA_BROKERCONNECT: kafka:29092

networks: 
  broker-kafka:
    driver: bridge  

Executar o build na raiz do diretório ambiente-kafka-docker

OBS: Antes de executar, verificar se as portas 9092,290092 e 19000 esteja livres no HOST.

$ docker-compose up -d

Verifique o status se está tudo OK, com o comando $ docker ps

Acesse no browser http://localhost:19000 para visualizar o Kafdrop, gerenciamento gráfico do Kafka.

Feito!

quinta-feira, 2 de dezembro de 2021

Configurando o MongoDB no ambiente Docker

O objetivo deste howto é explicar os procedimentos para instalar o SGBD noSQL (não relacional), MongoDB no ambiente Docker com a aimagem container oficial.

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker-Compose no Linux ou Instalando Docker e Docker-Compose no Windows

$ mkdir $HOME/ambiente-mongodb-docker && cd $HOME/ambiente-mongodb-docker

Crie o arquivo docker-compose.yml, conforme o conteúdo a seguir:

docker-compose.yml


version: "3.2" 
services: 
 mongo: 
    image: mongo 
    restart: always 
    environment: 
      MONGO_INITDB_ROOT_USERNAME: admin 
      MONGO_INITDB_ROOT_PASSWORD: secret 
 mongo-express: 
    image: mongo-express
    restart: always 
    ports: 
      - 8081:8081 
    environment: 
      ME_CONFIG_MONGODB_ADMINUSERNAME: admin 
      ME_CONFIG_MONGODB_ADMINPASSWORD: exemplomongodb 
      ME_CONFIG_MONGODB_URL: mongodb://admin:exemplomongodb@mongo:27017/ 
 

Executar o build na raiz do diretório ambiente-mongodb

OBS: Antes de executar, verificar se as portas 27017 e 8081 estejam livres no HOST.

$ docker-compose up -d

Verifique o status se está tudo OK, com o comando $ docker ps -a

Acesse o Mongo Express http://localhost:8081 pelo browser e conecte com o usuário e password definido no docker-compose.

Feito!

quarta-feira, 1 de dezembro de 2021

Conhecendo o Robo 3T

O que é Robo 3T?

Robo 3T é uma ferramenta gráfica para o MongoDB, que facilita assim gerenciar bancos de dados NoSQL (não relacional).

Instalando o Robo 3T

Pré-requisito: Ter instalado o MongoDB, caso ainda não tenha, verifique aqui

Acesse https://robomongo.org/download e após clicar no botão "Download Robo 3T" que será redirecionado para página correspondente para selecionar o Sistema Operacional (Windows, Linux, macOS) por aba, informe o seu e-mail, nome e clique no botão "Download for [SO conforme a aba escolhida]".

O procedimento de instalação é simples independente do SO, basta extrair, acessar o diretório bin e executar o arquivo robo3t.

Ao abrir, cliquei no botão "Connect", as informações default para o ambiente local são:

Define um nome qualquer, Address: localhost, Port: 27017

Clique no botão "Save".

Com o Robo 3T, pode importar o arquivo implementado em Node.js com as collections.

Feito!

quinta-feira, 25 de novembro de 2021

Configurando ambiente Kafka no Windows e Linux

Introdução

O Apache Kafka é uma plataforma opensource de processamento de streams desenvolvida pela Apache Software Foundation, escrita em Scala e Java. O projeto tem como objetivo fornecer uma plataforma unificada, de alta capacidade e baixa latência para tratamento de dados em tempo real.

Pré-requisito: Ter o JDK a partir da versão 1.8 no PATH do SO.

$ wget -c "https://archive.apache.org/dist/kafka/2.4.1/kafka_2.13-2.4.1.tgz"

$ tar -xzvf kafka_2.13-2.4.1.tgz

No Linux (qualquer distro), geralmente é extraído no diretório /opt/kafka

No Windows, pode ser no C:\kafka

Edite o arquivos config/zookeeper.properties, config/server.properties e coloque o caminho do arquivo log

config/zookeeper.properties

No Linux (qualquer distro)

dataDir=/opt/kafka/logs/zookeeper

No Windows

dataDir=C:\kafka\logs\zookeeper

config/server.properties

Descomenta a linha e adicione o IP e porta do servidor Kafka

listeners=PLAINTEXT://127.0.0.1:9092

No Linux (qualquer distro)

log.dirs=/opt/kafka/logs/kafka

No Windows

log.dirs=C:\kafka\logs\kafka

Inicialização dos serviços Zookeeper e Kafka

No Linux (qualquer distro)

$ cd /opt/kafka

$ ./bin/zookeeper-server-start.sh config/zookeeper.properties

$ bin/kafka-server-start.sh config/server.properties

No Windows

cd C:\
cd kafka\bin\windows zookeeper-server-start.bat ../../config/zookeeper.properties
kafka-server-start.bat ../../config/server.properties

Criar um tópico do evento Kafka

Uma vez inicializado o Zookeeper e Kafka, execute o comando para criar o tópico de evento do Kafka

No Linux (qualquer distro)

$ ./bin/kafka-topics.sh --create --topic [nome-topico] --bootstrap-server localhost:9092

Listar o tópico criado

$ bin/kafka-topics.sh --describe --topic [nome-topico] --bootstrap-server localhost:9092

No Windows

bin/kafka-topics.bat --create --topic [nome-topico] --bootstrap-server localhost:9092

bin/kafka-topics.bat --describe --topic [nome-topico] --bootstrap-server localhost:9092

Escrever um evento no tópico

No Linux (qualquer distro)

$ ./bin/kafka-console-producer.sh --topic [nome-topico] --bootstrap-server localhost:9092

No Windows

bin/kafka-console-producer.bat --topic [nome-topico] --bootstrap-server localhost:9092

Ler eventos no tópico

No Linux (qualquer distro)

$ ./bin/kafka-console-consumer.sh --topic [nome-topico] --from-beginning --bootstrap-server localhost:9092

No Windows

bin/kafka-console-consumer.bat --topic [nome-topico] --from-beginning --bootstrap-server localhost:9092

Encerrar o ambiente Kafka

  1. Parar o produtor e consumidor com CTRL + C
  2. Parar o serviço Kafka com CTRL + C
  3. Parar o serviço Zookeeper com CTRL + C

Referências

https://kafka.apache.org/quickstart

Feito!

terça-feira, 23 de novembro de 2021

Conhecendo o OpenShot

O que é OpenShot?

OpenShot é uma ferramenta para criar e editar vídeos, multiplataforma, isto é, Windows, Linux (qualquer distro), macOS, gratuito e de código aberto com licença GPLv3.

O OpenShot você pode adicionar sub-títullos, transições, efeitos e exportar também o seu vídeo para DVD, YouTube, Vimeo, Xbox-360 e outros formatos comuns.

Instalando o OpenShot no Ubuntu

$ sudo add-apt-repository ppa:openshot.developers/ppa
$ sudo apt update
$ sudo apt install openshot-qt

Feito!

sábado, 20 de novembro de 2021

Conhecendo o brModelo

O que é brModelo?

É um software para modelagem para banco de dados relacionais, desenvolvida pelo grupo de Banco de Dados da UFSC (GPD/UFSC) em 2005 com o objetivo de ser uma ferramenta gratuita com esse quesito. Seus principais diferenciais em relação a ferramentas similares são o suporte a todas as três etapas clássicas de projeto de banco de dados, a interação com o projetista durante a execução da etapa de modelagem lógica e o suporte a todos os conceitos do modelo EER, conforme na principal literatura nacional sobre projeto de banco de dados. A aceitação do brModelo foi de intensa populariedade.

Instalação do brModelo

Tem duas versões do brModelo, uma na versão desktop que o pré-requisito ter o Java (JRE já é o suficiente). A partir da versão 8 do Java.

$ wget -c "http://www.sis4.com/brModelo/brModelo.jar"

$ java -jar brModelo.jar

Também tem a versão brModelo Web que é 100% online e gratuita para criar a conta e utilizar.

Feito!

Conhecendo o LucidChart

O que é LucidChart?

É uma aplicação web para construir diagramas UML, com funcionalidade de arrastar e soltar componentes UML.

Utiliza o modelo SaaS, isto é, por meio de sua conta associada a algum plano: Gratuito, Individual, Team ou Empresa, cada plano possui os recursos.

Escolha o plano que atenderá melhor no seu caso.

Para saber mais sobre os recursos de cada plano, Consulte Planos LucidChar .

O que é UML e para que serve?

UML (Unified Modeling Language), que significa Linguagem Unificada de Modelagem é uma linguagem padrão para modelagem orientada a objetos. Esta linguagem de modelagem não é proprietária de terceira geração, não é um método de desenvolvimento. Têm como papel auxiliar a visualizar o desenho e a comunicação entre objetos.

Criação da conta no LucidChart

Para criar a conta no LucidChart e começar a criar os diagramas UML, acesse .

Permite escolher utilizar a sua conta do Google, Office 365 ou Slack de forma integrada.

Feito!