anúncios

sábado, 4 de dezembro de 2021

Configurando o SGBD PostgreSQL e Adminer no ambiente Docker

O objetivo deste howto é explicar os procedimentos de configuração do SGBD PostgreSQL com a ferramenta Adminer no ambiente Docker.

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Composer no Linux (qualquer distro) ou Instalando Docker e Docker Compose no Windows 10

$ mkdir $HOME/ambiente-postgresql-adminer-docker && $HOME/ambiente-postgresql-adminer-docker

$ mkdir $HOME/ambiente-postgresql-adminer-docker/db

O diretório db é o volume mapeado entre HOST e CONTAINER

Se não tiver o volume db ao encerrar, o banco de dados irá para o espaço, na hora que for encerrado, pois o container é volátel.

Crie o arquivo docker-compose.yml no diretório raiz de ambiente-postgresql-adminer-docker, conforme o conteúdo seguinte:

docker-compose.yml


version: "3"
services:
  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: secret
    volumes:
      - "./db://var/lib/postgresql/data"

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

OBS: Esteja atento a indentação do arquivo docker-compose.yml para o correto funcionamento na hora que for executar.

Executar o build e execução do ambiente na raiz do diretório ambiente-postgresql-adminer-docker

OBS: Antes de executar, verifique se as portas 8080 (Adminer) e 5432 (PostgreSQL) estão disponíveis na sua máquina.

$ docker-compose up -d

Aguarde e após estiver OK, verifique o status com o comando $ docker ps

Acesse no browser http://localhost:8080 irá redirecionar para a tela do Adminer, insere as credenciais definidas do SGBD PostgreSQL no docker-compose.yml

Após o acesso, poderá criar o banco de dados e as respectivas tabelas pelo Adminer que irá integrar ao SGBD PostgreSQL.

Feito!

sexta-feira, 3 de dezembro de 2021

Configurando SGBD MySQL e Adminer no ambiente Docker

O objetivo deste howto é explicar os procedimentos de configuração do SGBD MySQL com a ferramenta Adminer no ambiente Docker.

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Composer no Linux (qualquer distro) ou Instalando Docker e Docker Compose no Windows 10

$ mkdir $HOME/ambiente-mysql-adminer-docker && $HOME/ambiente-mysql-adminer-docker

$ mkdir $HOME/ambiente-mysql-adminer-docker/db

O diretório db é o volume mapeado entre HOST e CONTAINER

Se não tiver o volume db ao encerrar, o banco de dados irá para o espaço, na hora que for encerrado, pois o container é volátel.

Crie o arquivo docker-compose.yml no diretório raiz de ambiente-mysql-adminer-docker, conforme o conteúdo seguinte:

docker-compose.yml


version: "3"
services:
  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - "./db:/var/lib/mysql"

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

OBS: Esteja atento a indentação do arquivo docker-compose.yml para o correto funcionamento na hora que for executar.

Executar o build e execução do ambiente na raiz do diretório ambiente-mysql-adminer-docker

OBS: Antes de executar, verifique se as portas 8080 (Adminer) e 3306 (MySQL) estão disponíveis na sua máquina.

$ docker-compose up -d

Aguarde e após estiver OK, verifique o status com o comando $ docker ps

Acesse no browser http://localhost:8080 irá redirecionar para a tela do Adminer, insere as credenciais definidas do SGBD MySQL no docker-compose.yml

Após o acesso, poderá criar o banco de dados e as respectivas tabelas pelo Adminer que irá integrar ao SGBD MySQL.

Feito!

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!