Superset 的起源以及背景,这里就不描述了,百度有大量的说明。
本文采用docker 的方式进行安装
下面是docker-compose.yml 文件内容
version: "3.7"
services:
superset:
image: apache/superset:latest
container_name: superset
restart: always
ports:
- 8088:8088
user: root
networks:
default:
external:
name: DockerNetBridge
着重说明一下networks 。由于数据源采用的Postgresql 且是docker安装 为了保证容器之间能够通信
也就是在Superset配置数据库的时候 能够正常访问postgresql .所以设置了容器网络为统一网段。
编写完yml.直接运行命令
docker-compose up -d
此时容器已经正常运行,但是如果要做到正常使用。还差远呢。
必须得做如下操作
- 设置账户密码
- 初始化
- 汉化处理
- 持久化处理
第一步 : 置账户密码
docker exec -it superset superset fab create-admin --username admin --email admin@superset.com --password admin
执行之后 跟着提示做就OK
第二步:初始化superset
docker exec -it superset superset db upgrade #更新本地数据库
docker exec -it superset superset init
第三步:汉化处理
docker exec -it -u root superset /bin/bash #进入到容器内
sed -i "s/BABEL_DEFAULT_LOCALE = \"en/BABEL_DEFAULT_LOCALE = \"zh/g" superset/config.py #设置默认为中文
sed -i "s/LANGUAGES = {}/# LANGUAGES = {}/g" superset/config.py
apt-get update
apt-get install python3-babel
cd superset
pybabel compile -d translations #加载翻译
#t退出容器重新启动
docker restart superset
第四步:持久化处理
分2步处理。
1、数据库持久化 Superset 默认是sqlite 。可以自行设定为mysql等其他数据。
2、代码持久化。容器目录文件映射
首先把容器里面的app下的东西复制到宿主机外
然后 在上面的yml增加映射
volumes:
- /Users/gavin/docker/superset/app:/app
1登录superset
http://127.0.0.1:8088
至此结束 。