安装Apache Superset--基于Docker的安装配置
Posted nikeylee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装Apache Superset--基于Docker的安装配置相关的知识,希望对你有一定的参考价值。
1、下载Superset镜像
查找星最多的镜像:
docker search superset
下载镜像(选择 amancevice/superset):
docker pull amancevice/superset
查看镜像是否下载成功:
docker images
2、创建Superset容器
创建挂载的目录:
mkdir /opt/superset
创建superset容器:
docker run --name my_superset -d -p 8088:8088 -v /opt/superset:/home/superset amancevice/superset
查看进程:
docker ps -a
进入docker镜像:
docker exec -it my_superset /bin/bash
3、在Superset容器中初始化
superset安装目录:/usr/local/lib/python3.8/site-packages/superset
数据库初始化:(进入容器后执行命令)
superset db upgrade
superset初始化:(进入容器后执行命令)
superset init
设置管理员账号:(进入容器后执行命令)
export FLASK_APP=superset
flask fab create-admin
用户名:admin,密码:123456
加载superset样例命令:(进入容器后执行命令)(由于网络的原因可能会报错,但是不影响正常使用,可以多执行几次加载更多的测试样例)
superset load_examples
启动superset命令:(进入容器后执行命令)一般不使用,初始化init后,就可以访问了
superset run -p 8088
4、访问superset
我这里是VM虚机的访问地址:http://192.168.171.126:8088/login/
注意事项
1)老版本使用 docker exec -it my_superset fabmanager create-admin --app superset命令创建管理员会报错
2)不执行 export FLASK_APP=superset 命令,也可能会报错,You did not provide the "FLASK_APP" environment variable
5、停止与开启superset服务
停止superset服务
docker stop my_superset
查找运行superset的容器ID
docker ps -a
开启superset服务
docker start my_superset
6、superset汉化
1)进入superset容器
docker exec -it --user root my_superset /bin/bash
2)修改配置文件/usr/local/lib/python3.8/site-packages/superset/config.py,修改BABEL_DEFAULT_LOCALE的取值从"en"为"zh"
修改后显示:
cat /usr/local/lib/python3.8/site-packages/superset/config.py | grep BABEL_DEFAULT_LOCALE
3)重新编译设计到国际化的文件(有报错也没关系)
pybabel compile -d /usr/local/lib/python3.8/site-packages/superset/translations
4)退出superset容器后,重启superset容器
docker restart my_superset
5)再登录superset,就是中文版本了
github上关于中文的源码:https://github.com/apache/superset/tree/master/superset/translations/zh/LC_MESSAGES
7、superset导出csv中文乱码问题
8、内置数据库转为mysql数据库
进入superset容器:root用户进入
docker exec -it --user root my_superset /bin/bash
在容器中执行命令:
pip install mysqlclient
SQLAlchemy URI 填写连接字符串:
mysql://root:123456@192.168.171.126:3306/supersetdb?charset=utf8
- root:数据库用户名
- 123456:数据库密码
- 192.168.171.126: 数据库所在机器IP
- 3306:数据库端口号
- supersetdb:数据库名称
- charset=utf8:设置字符集编码格
- 点击Test Connection,出现以下提示代表连接mysql数据库成功
superset中的配置操作:转为mysql数据库
添加成功后:
如果将Superset内置数据库换成其他的数据库,首先要安装对应的包,然后到superset上添加database,重启即可;
常用的安装命令如下:
9、添加其他用户,给其他用户赋权限
在superset页面,Setting--List User新增用户test
在superset页面,Setting--List Roles修改Public角色,配置Public角色的权限,将新增的用户test加为Public角色,这样test用户就有了Public角色的权限能力
如:给Public角色添加以下权限: [can explore on Superset, all database access on all_database_access, can explore json on Superset]
以上是关于安装Apache Superset--基于Docker的安装配置的主要内容,如果未能解决你的问题,请参考以下文章
Apache Superset从入门到放弃(基于python3.6.9)
Apache Superset从入门到放弃(基于python3.6.9)