Docker 部署数据可视化 Superset 3.0.0 深度汉化并配置元数据存储为 Postgres
services:
postgres:
image: postgres:14.10
container_name: postgres
hostname: postgres
environment:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
POSTGRES_DB: superset
ports:
- "2432:5432"
volumes:
- /home/app/data/postgres/data:/var/lib/postgresql/data
network_mode: "host"
superset:
image: superset-pg:3.0.2
container_name: superset
hostname: superset
restart: always
ports:
- 28088:8088
environment:
- TZ=Asia/Shanghai
# sqlite 存储元数据的数据持久化
#volumes:
# - ./superset:~/.superset docker-compose -f docker-compose.yml up -d docker exec -it superset superset fab create-admin \
--username admin \
--firstname Superset \
--lastname Admin \
--email admin@superset.com \
--password admin docker exec -it superset superset db upgrade docker exec -it superset superset init
Superset 官方提供的 Docker 镜像在 3.0.0 版本下不能做到开箱即用,需要一些设置
拉取原始镜像
docker pull apache/superset:3.0.0
配置 superset_config.py
superset_config.py 会覆盖掉 config.py 里的变量,无需配置 config.py
创建一个 superset_config.py 文件添加以下内容
SECRET_KEY = 'superset'
SQLALCHEMY_DATABASE_URI = 'postgresql://superset:superset@postgres/superset'
WTF_CSRF_ENABLED = False
TALISMAN_ENABLED = False
BABEL_DEFAULT_LOCALE = "zh"
LANGUAGES = {
"zh": {"flag": "cn", "name": "简体中文"},
"en": {"flag": "us", "name": "English"},
}
SECRET_KEY:官方说明从2.1.0版本开始必须配置才能启动superset
SQLALCHEMY_DATABASE_URI:superset 的元数据库,默认使用sqlite,并存储在~/.superset/superset.db,也可以指定位置存储 'sqlite:////path/to/superset.db'
postgres格式:postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>
mysql格式:mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>
元数据库支持 sqlite,mysql,postgres 三种数据库
测试 postgres16 版本也支持
数据库密码不要包含@,测试过各种办法无效,官方文档里的方法虽能连接上数据库,但是后续python脚本引用变量时报错,获取不到,期待python大佬解答,config文件两个月前更新,3.0.0版本发布于两周前,文件还未更新
建议数据库使用 UTF-8 编码,避免乱码
WTF_CSRF_ENABLED = False:关于安全的选项,关闭
TALISMAN_ENABLED = False:关于安全的选项,关闭
不关闭安全选项会导致URL地址不匹配无法登陆superset,测试目前只有3.0.0版本需要
BABEL_DEFAULT_LOCALE:默认的superset语言,会影响标题栏
LANGUAGES:开启语言选择菜单,不会影响标题栏和部分选项,汉化不全,开启英文方便理解,也支持其他很多语言,name后的字符可以修改,是浏览器上菜单的显示项
LANGUAGES = {
"en": {"flag": "us", "name": "English"},
"es": {"flag": "es", "name": "Spanish"},
"it": {"flag": "it", "name": "Italian"},
"fr": {"flag": "fr", "name": "French"},
"zh": {"flag": "cn", "name": "Chinese"},
"ja": {"flag": "jp", "name": "Japanese"},
"de": {"flag": "de", "name": "German"},
"pt": {"flag": "pt", "name": "Portuguese"},
"pt_BR": {"flag": "br", "name": "Brazilian Portuguese"},
"ru": {"flag": "ru", "name": "Russian"},
"ko": {"flag": "kr", "name": "Korean"},
"sk": {"flag": "sk", "name": "Slovak"},
"sl": {"flag": "si", "name": "Slovenian"},
"nl": {"flag": "nl", "name": "Dutch"},
}
配置 Dockerfile
superset 官方 Docker 镜像不带除 sqlite 以外任何数据库驱动,以最小化镜像体积,配置postgres 为元数据库或者连接其他数据库需要为容器安装相应驱动
FROM apache/superset:3.0.0
COPY superset_config.py /app/pythonpath
USER root
RUN pip install psycopg2 pyhive &&\
pybabel compile -d /app/superset/translations; exit 0
USER superset
psycopg2:postgres数据库的python驱动
pyhive:hive的python驱动
pybabel:superset下已经有翻译的文件,只是没有编译,编译目录下的所有语言的.po文件对应的.mo文件,深度汉化
; exit 0:翻译文件有很多不对的地方导致报错,让 docker 无视报错继续构建
Superset 本身支持非常多的数据库连接,具体可以查看官方文档安装
https://superset.apache.org/docs/databases/installing-database-drivers/
构建镜像
docker build --no-cache -t superset-pg:3.0.0 .
--no-cache:不使用缓存。不指定的话dockerfile中命令无变化的地方将使用缓存,COPY里文件修改的部分不会应用到实际构建中
最后的 “.” 不能省略
配置 docker-compose.yml 启动 Superset
services:
superset:
image: superset-pg:3.0.0
container_name: superset
hostname: superset
restart: always
ports:
- 8080:8088
environment:
- TZ=Asia/Shanghai
# sqlite 存储元数据的数据持久化
#volumes:
# - ./superset:~/.superset
创建超级管理员
docker exec -it superset superset fab create-admin \
--username admin \
--firstname Superset \
--lastname Admin \
--email admin@superset.com \
--password admin
升级数据库(包含一部分初始化)
docker exec -it superset superset db upgrade
初始化 Superset
docker exec -it superset superset init
访问地址:http://ip:8080
一些汉化效果截图
Docker 部署数据可视化 Superset 3.0.0 深度汉化并配置元数据存储为 Postgres的更多相关文章
- Axure 7.0 正式版 + 汉化包 安装
详情如下: Axure 7.0 正式版终于发布了,现在提供简体中文版给大家使用. Axure 7.0 正式版: 链接: http://pan.baidu.com/s/1kV4OJ47 提取密码: be ...
- Windows+Atlassian-Jira-6.0.4+MySql5.0安装破解汉化
Windows+Atlassian-Jira-6.0.4+MySql5.0安装破解汉化 一:整理的安装程序 例如以下图: 文件太大.上传不到csdn上.有须要的联系. 新增的百度云盘下载:链接: ...
- UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版
软件名称:UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版软件类别:汉化软件运行环境:Windows软件语言:简体中文授权方式:免费版软件大小:3.25 MB软件等级:整理时 ...
- Web前端开发神器--WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版
WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版 http://www.jb51.net/softs/171905.html WebStorm 是jetbrains公司旗 ...
- Bulk Rename Utility 3.0 + x64 中文汉化版
Bulk Rename Utility 3.0 + x64 中文汉化版由大眼仔旭(www.dayanzai.me)汉化发布.当发现做一件事情,原本用工具或软件进行批量处理也能达到相同效果,可却花了数倍 ...
- Axure5.1.0.1699 RP汉化版
Axure是一款产品原型(Prototype)设计软件,可通过这个软件编辑一些常见的事件和在特点条件下才会触发的情况,可以快速的生成HTML Demo页面. 使用Axure的用户很多,据淘宝UED消息 ...
- 【MySQL】MySQL Workbench 8.0 CE 界面汉化
汉化前: 找到这个文件: 打开文件,复制下面这段替换进去保存,重新打开软件即可:(*改之前备份一下) <?xml version="1.0"?> <data> ...
- zend studio 13.0.0 安装破解汉化
zend studio 13安装破解汉化步骤 官网原版下载 http://downloads.zend.com/studio-eclipse/13.0.0/ZendStudio-13.0.0-win3 ...
- Axure7.0 以及 中文汉化语言包下载 axure汉化包
支持 Axure RP Pro 正式版 当前最新版本 7.0.0.3184 不兼容6.5及以下版本! Axure7.0 下载地址:http://pan.baidu.com/s/1dEuR8YX Axu ...
- Activiti6.0流程编辑器汉化教程(en.json文件汉化)
{ "GENERAL": { "MAIN-TITLE": "Activiti", "ERROR": { "GE ...
随机推荐
- 共124篇!墨天轮“高可用架构”干货文档分享(含Oracle、MySQL、PG)
大家期待的高可用篇来啦!在上期<墨天轮高分技术文档分享-Oracle升级迁移篇>中大家对数据库高可用架构相关文档呼声较高,这不就来啦! 数据库的高可用架构能够在发生宕机或意外中断等故障时起 ...
- 5.15 相约上海!2021 年度首届云原生 Meetup | KubeSphere & Friends
时至今日,Kubernetes 虽然变成了云原生这套系统化方法论和开源技术的核心一环,但已经无法独立存在,而是与云原生生态中所有的技术形态息息相关.为了将云原生生态中的各个技术形态结合起来,帮助企业最 ...
- 业务上线在即,ODBC应用程序性能频频掉线怎么搞?
- Oracle的用户如何优雅地达成软件合规目标
企业一旦发展到了一定规模,就会衍生软件100%合规正版化的需求. 而对于使用到Oracle的用户,当然,具体核定的购买数量和off等商务问题,需要客户管理层直接和对应的Oracle销售代表进行商务谈判 ...
- spring注解@PostConstruct
该注解可以实现在运行工程时,自动运行该注解下的方法: @PostConstruct是java5的时候引入的注解,指的是在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为 ...
- WinDbg符号配置
符号文件介绍 它包含了应用程序二进制文件(比如:EXE.DLL等)调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中.所以调试 ...
- ARC121E Directed Tree
ARC121E Directed Tree 有意思的容斥加树 dp. 思路 \(a_i\) 可以是除去 \(i\) 祖先之外的所有点,考虑 \(a_i\) 的逆排列. 每一个 \(i\) 在正排列里都 ...
- 鸿蒙NEXT开发案例:血型遗传计算
[引言] 血型遗传计算器是一个帮助用户根据父母的血型预测子女可能的血型的应用.通过选择父母的血型,应用程序能够快速计算出孩子可能拥有的血型以及不可能拥有的血型.这个过程不仅涉及到了简单的数据处理逻辑, ...
- C#-32位md5加密
MD5是一种散列函数,它是不可逆的.这意味着你不能通过MD5的输出来恢复输入.MD5不支持解密. C#MD5加密返回32位字串 public static string MD5Encrypt32(st ...
- Collections Framework中的算法(之二)
从本篇开始我们讲述Collections中的一些算法的源代码!本篇主要讲述与排序相关的一些方法,如:排序.反序.反序比较器.乱序.最大值和最小值等. 一.头及一些与算法相关的属性 package ja ...