docker安装superset实践
1、拉取docker镜像
docker pull apache/superset:latest
2、安装superset容器
mkdir /usr/local/develop/docker/superset/ -p
touch /usr/local/develop/docker/superset/superset_config.py
superset_config.py配置文件如下:
SQLALCHEMY_DATABASE_URI = 'mysql://用户名:密码@mysql地址/数据库'# 允许跨域
ENABLE_CORS = True
HTTP_HEADERS = {'X-Frame-Options': 'SAMEORIGIN'}
SUPERSET_WEBSERVER_DOMAINS = ['域名']# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
ENABLE_PROXY_FIX = True# 确保所有元数据都使用 MySQL
DATA_CACHE_CONFIG = {'CACHE_TYPE': 'SupersetMetastoreCache','CACHE_KEY_PREFIX': 'superset_results','CACHE_DEFAULT_TIMEOUT': 86400,'METADATA_CACHE_CONFIG': {'CACHE_TYPE': 'RedisCache', # 或者使用数据库缓存'CACHE_DEFAULT_TIMEOUT': 86400,'CACHE_KEY_PREFIX': '数据库名',}
}# 禁用 SQLite 完全
PREVENT_UNSAFE_DB_CONNECTIONS = True
4、启动docker
docker run --name superset -d -p 8080:8088 \
-v /usr/local/develop/docker/superset/superset_config.py:/etc/superset/superset_config.py \
-v /usr/local/develop/docker/superset/data:/var/lib/superset -e "FLASK_ENV=production" \ apache/superset:latest
5、容器初始化
docker exec -it superset superset fab create-admin
--username 用户名
--firstname ***
--lastname ***
--email ***
--password ***
docker exec -it superset superset init
默认使用的是sqllite数据库,切换mysql有问题,欢迎讨论!