安装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)

Apache Superset从入门到放弃(基于python3.6.9)

Apache Superset二次开发环境配置

Apache Superset二次开发环境配置

Apache Superset二次开发环境配置