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
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
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
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
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.
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: