Superset3 前后端搭建详解

Superset3 搭建

Superset 框架是一套包括前后端代码的框架,后端语言为 Python,前端语言为 Reactsuperset 启动后包括一个前端地址+端口,一个后端地址+端口的服务,后端这个服务是带前端页面的,如果访问这个地址 /api/v1,则可以看到具体接口内容。

另外后端部署分两种情况,一种是直接搭建在 Windows 本地电脑里,一种是运维搭建到服务器上。以下分别对两种后端进行介绍:

flowchart LR
    Superset3 -->后端Python
    Superset3 -->前端React
    后端Python --> 方法1:后端本地搭建生成localhost:8088
    后端Python --> 方法2:后端线上搭建生成线上IP地址
    
    前端React --> 生成localhost:9000

后端:

方法1、在Windows 本地搭建

在安装 Superset 之前,需要创建一个 Python 虚拟环境:
注意,最好使用 cmd 管理员模式下进行创建(我试了 git 终端等,都无法创建成功)

# 在安装Superset之前,建议在一个Python虚拟环境中安装,以避免依赖包之间的冲突:
# 安装虚拟环境管理工具
pip install virtualenv

# 在项目目录下创建虚拟环境
virtualenv superset-venv

# 激活虚拟环境 注意:用CMD运行命令,试了其他终端无法激活
# Windows
superset-venv\Scripts\activate

 3. 安装Superset 在虚拟环境中,使用pip安装Superset。
$ pip install apache-superset==3.1.0

 # 初始化数据库
$ superset db upgrade

# 创建管理员用户
$ superset fab create-admin

# 加载示例数据(可选)
$ superset load_examples

# 创建默认角色和权限
$ superset init

$ superset run -p 8088 --with-threads --reload --debugger

命令运行过程中,根据提示会创建一个superset的用户名密码(管理员),另外有可能需要创建一个 superset_config.py 的文件,并填写对应的SECRET_KEY,并将此文件加入到环境变量里才可以。
运行完毕,可以访问 localhost:8088,如果可以访问,则本地后端服务搭建完成。

后面如果要启动,则直接运行以下两条命令行即可(还是使用cmd):

$ superset-venv\Scripts\activate // 进入环境

$ superset run -p 8088 --with-threads --reload --debugger // 启动后端服务

启动后,如果要连接 MYSQL 数据库,需要手动安装(需要在虚拟环境中安装mysql,默认没有)

$ pip install mysqlclient

方法2:运维线上搭建

后端部署后,前端需要将 /superset-frontend/webpack.proxy-config.js 下的本地地址修改为后端给的在线地址。

如果启动前端后发现有部分资源找不到,样式错乱,是因为浏览器安全策略的原因,可以让运维将 /superset/config.py下的 TALISMAN ENABLED 设置为 False 即可.

前端:

前端搭建

$ cd superset-frontend

$ npm install // 这中间经历了不少波折,总之各种方法都试试 

$ npm run dev-server

Superset 数据库

Superset 包括两个数据库,一个是默认底层数据库,内部存储了 superset 的用户,角色等信息,另一个数据库是第三方数据库,也就是页面上新建连接的数据库,用于图表等的使用

flowchart LR
    Superset数据库 -->默认底层数据库,存放用户信息等
    Superset数据库 -->第三方页面使用的数据库,存放图表引用的数据等

其他

  1. 配置中文:添加系统变量 SUPERSET_CONFIG_PATHD:\project\caixin\superset_config.py(位置随便放),在文件里配置 BABEL_DEFAULT_LOCALE = 'zh' 重启即可
  2. npm源:最好将 npm 源改为 https://registry.npmmirror.com (获取 npm 源:npm config get registry )
posted @ 2024-03-01 13:44  geekfeier  阅读(512)  评论(0编辑  收藏  举报