Bem-vindo

Este reposório contem passos básicos para instalar o docker em um servidor Ubuntu e passos para a configuração dos serviços Apache Airflow, Apache Hop, Metabase, Postgres e posteriormente Apache Superset

Instalando e Configurando Docker

Vamos iniciar a instalção com os comandos abaixo.

curl -fsSL https://get.docker.com -o get-docker.sh

sudo sh get-docker.sh

Pós instalação Docker, execute os comandos abaixo para permitir que seu usuário execute o CLI (command line interface) do docker

sudo groupadd docker

sudo usermod -aG docker $USER

Normalmente o servido do docker já deve estar habilitado e inicializado. Caso não esteja exeute os comandos abaixo

sudo systemctl enable docker.service

sudo systemctl enable containerd.service

sudo systemctl start docker.service

sudo systemctl start containerd.service

Caso receber o erro ao executar o comando `docker ps : Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? execute o comando abaixo

sudo update-alternatives --config iptables

Escolha a opção 1, e reinicie o servidor docker

sudo systemctl restart docker.service

Executando o comando abaixo, você verá a saída abaixo

$ docker ps
usuario@computador:~$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Muito bem, agora que temos o docker instalado e configurado, as configurações abaixo é para preparar o docker para a Stak sugerida.

Você pode criar na mão, oude pode executar o script prepara_servidor.sh para configurar automaticamente

Seguindo com script

Vamos iniciar criando as redes com o comando abaixo:

sh criar_redes.sh

Após vamos criar os volumes comando abaixo:

sh criar_volumes.sh

Após clonar os repositório e realizar as configuraçlões necessárias com o script abaixo:

sudo sh configurar_atualizar.sh

E por fim, baixar os drivers necessários

sudo sh baixar_drivers.sh

Seguindo manualmente

Criando Redes no Docker

Para que o projeto funcione corretamente é necessário criar algumas redes para a comunicação entre os serviços que estão rodando nos containers

Lista de Redes

  • hop
  • airflow
  • postgres-prd
  • metabase

para criar redes use o comando: docker network create nome_da_rede

Criando Volumes no Docker

Para o Apache Airflow e Apache Hop funcionar corretamente, é cessário criar os volumes abaixo

Lista de Volumes

  • dags
  • logs
  • plugins
  • hop_projetos
  • hop_config

para criar redes use o comando: docker volume create nome_da_rede

Obs.: há um passo crítico neste ponto. Como é necessário fazer o clone do projeto hop e dags do airflow.. é necessário executar alguns passos extras, porém para isso deixarei um script pronto.

Observações Gerais

Deixo como lição para você que está implantando essa Stack, melhorar, e criar suas automações. Algum processo manual certamente você terá assim como eu tive. Deixo abaixo de depoisórios para as stacks: