Hosted onhyper.mediavia theHypermedia Protocol

Instalando Apache #superset en Debian 12 con #vagrant

    Requisitos

    Descargando la box vagrant de Debian 12

      Creamos la carpeta donde vayamos a contener nuestra MV y descargamos la Box, en mi caso Debian 12.

      vagrant init generic/debian12
      

    Preparando la box para funcionar directamente con #Docker

      Esto no es necesario hacerlo en #Vagrant pero si lo dejamos ya preparado nos puede valer para futuras pruebas con un contenedor #Docker. Para ello modificamos el vagrantfile

      # Modificar Vagrantfile
      notepad .\Vagrantfile
      

      El aspecto de mi Vagrantfile es este:

      # -*- mode: ruby -*-
      # vi: set ft=ruby :
      
      Vagrant.configure("2") do |config|
      
        config.vm.box = "generic/debian12"
        config.vm.hostname = "Debian12conDocker"
        config.vm.provider "vmware_desktop" do |vmware|
          vmware.vmx["memsize"] = "4096"
          vmware.vmx["numvcpus"] = "4"
        end
      
        config.vm.provision "shell", inline: <<-SHELL
          apt update
          # Add Docker's official GPG key:
          apt install ca-certificates curl
          install -m 0755 -d /etc/apt/keyrings
          curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
          chmod a+r /etc/apt/keyrings/docker.asc
      
          # Add the repository to Apt sources:
          echo \
            "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
            $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
            tee /etc/apt/sources.list.d/docker.list > /dev/null
          apt update
          apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
        SHELL
      end
      

      Otra alternativa es con el plugin de vagrant-docker:

      # -*- mode: ruby -*-
      # vi: set ft=ruby :
      
      Vagrant.configure("2") do |config|
      
        config.vm.box = "generic/debian12"
        config.vm.hostname = "Debian12conDockerPlug"
      
        # require plugin https://github.com/leighmcculloch/vagrant-docker-compose
        config.vagrant.plugins = "vagrant-docker-compose"
      
        # install docker and docker-compose
        config.vm.provision :docker
        config.vm.provision :docker_compose
      
        config.vm.provider "vmware_desktop" do |vmware|
          vmware.vmx["memsize"] = "4096"
          vmware.vmx["numvcpus"] = "4"
        end
      end
      

      Creando la máquina virtual. El --debug es para ver por pantalla todo lo que va realizando.

      vagrant up --provider=vmware_desktop --debug
      

    Instalando Apache Superset 3

      Primero entramos por ssh a nuestra MV recién creada.

      vagrant ssh

      Entramos como root

      sudo su

      Clonamos la última version del git de apache #superset

      git clone https://github.com/apache/superset.git

      Entramos en la carpeta

      cd superset

      Y podemos arrancar la app. La primera vez tardará más porque tiene que descargar todos los contenedores:

      docker compose up

      Veremos que tarda porque crea también una base de datos de ejemplos que es perfecto para empezar a cacharrear y ver como crea algunos gráficos y dashboards.

      Una vez está todo ok podemos entrar con el navegador a través de http://[ipdelaMV]:8088 con user admin y password admin

      Si quieres saber la ip puedes hacerlo con:

      ip -4 a s

      A mi de primeras nunca me va la version 3. Así que os voy a poner las cosas que he cambiado.

      Primero borramos los contenedores docker compose down -v

      Generar SECRET_KEY

      openssl rand -base64 42

      Añadimos este al final del documento docker/.env-non-dev

      SUPERSET_SECRET_KEY=01N441iqyc7HALv82HshIMPYP+KVe7MiIXdb7xD6MDW0jnXdS94qM8W0

      Para que funcione con SQL Server hay que añadir un fichero para que instale el driver. Para otros drivers consultar aquí

      touch ./docker/requirements-local.txt
      echo "pymssql" >> ./docker/requirements-local.txt
      

      Lanzamos de nuevo los contenedores

      docker compose -f docker-compose-non-dev.yml up -d

      Para ver los logs para ver como va:

      docker compose -f docker-compose-non-dev.yml logs -f

      Y ahora tras un rato que inicialice la base de datos con ejemplos y otras cosas ya podremos acceder a nuestro Apache Superset.

      Ya puedes conectar con tu base de datos y empezar a hacer tus gráficas y dashboards con un programa open source.