Configurar Apache Superset en un servidor

Objetivo

El objetivo es configurar Apache Superset en un servidor externo.

Desarrollo

Apache Superset es una plataforma moderna de exploración y visualización de datos. «Superset es rápido, liviano, intuitivo y está repleto de opciones que facilitan a los usuarios de todos los conjuntos de habilidades explorar y visualizar sus datos, desde simples gráficos de líneas hasta gráficos geoespaciales altamente detallados.«

Prerequisitos:

  • Disponer de un servidor con OS Ubuntu 20.04 o superior. Para las configuraciones básicas del servidor seguiremos los siguientes pasos.
  • Configurar Apache, MySQL y PHP. Para ello podemos seguir los siguientes pasos. Comentar que el paso de una configuración segura de MySQL me ha dado error por lo que es mejor ejecutar los siguientes comandos:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'my-secret-password';
exit

Paso 1: Abrir los puertos para poder acceder a Superset

Para poder acceder a Superset una vez instalado, configurado e inicializado, necesitamos abrir los puertos de nuestro Firewall. Concretamente en este caso utilizaremos el puerto 8088.

sudo ufw allow 8088/tcp
sudo ufw status
sudo service ufw restart

Paso 2: Instalación de los paquetes necesario

En este paso actualizaremos nuestro Linux para tener las últimas versiones de los paquetes básicos de Linux.

apt update
apt upgrade

Posteriormente instalaremos el resto de paquetes básicos necesarios.

sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
pip install --upgrade setuptools pip
pip install virtualenv
apt install python3.8-venv

Paso 3: Crear un entorno virtual y el resto de paquetes

El siguiente paso es crear un entorno virtual en el que instalaremos otro conjunto de paquetes más específicos de Superset (y concretamente de versiones concretas de paquetes). Por lo tanto, crearemos en entorno virtual llamado «venv» y lo activaremos.

python3 -m venv venv
. venv/bin/activate

Posteriormente instalaremos el resto de paquetes necesarios.

export FLASK_APP=superset
pip install apache-superset

pip install Flask-AppBuilder
pip install markupsafe==2.0.1
pip install pillow

Paso 4: Configurar Superset

A continuación, configuraremos Superset y crearemos el usuario de administración.

superset db upgrade
superset fab create-admin

A continuación, cargaremos opcionalmente datos de ejemplo.

superset load_examples

Paso 5: Iniciar Superset

Para inicializar Superset ejecutamos el siguiente comando:

superset init

Finalmente para ejecutar Superset podemos ejecutarlo de la siguiente manera:

nohup superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger &

Si lo estás ejecutando en un servidor remoto la IP debe ser 0.0.0.0 pero si es en un servidor local entiendo que debería ser 127.0.0.1

En este caso ponemos las instrucciones nohup y & para que el proceso se quede ejecutando aunque cerremos la consola.

Paso 6: Acceder a Superset

Para acceder a Superset tendremos que hacerlo de la siguiente manera:

http://datalab.datadragon.ai:8088
top