部署superset

一、使用virtualenv创建虚拟环境

cd 到创建项目的路径
virtualenv project_name

部署superset_第1张图片
image.png

二、配置虚拟环境

根据官网教程配置虚拟环境

Install superset

pip install superset

Create an admin user (you will be prompted to set username, first and last name before setting a password)

fabmanager create-admin --app superset

Initialize the database

superset db upgrade

Load some data to play with

superset load_examples

Create default roles and permissions

superset init

Start the web server on port 8088, use -p to bind to another port

superset runserver

To start a development web server, use the -d switch

superset runserver -d

这些过程按部就班即可。

三、配置元数据库(SQLite->Mysql)

superset后端使用sqlalchemy来配置数据库,只需要在config.py配置一个连接字符串即可。
以mysql为例:

SQLALCHEMY_DATABASE_URI = 'mysql://账号:密码@IP地址或者hostname/数据库名?charset=utf8'

目前来看还是不能连接到mysql数据库,因为程序并未从config.py读取配置信息,正在查找原因。
所以,需要进行本地配置,在项目的根目录新建一个superset_config.py的文件。
比如项目根目录叫/home/nzh/superset_project,superset_config.py就放到这个路径下。
superset_config.py内容如下:

#---------------------------------------------------------
# Superset specific config
#---------------------------------------------------------
ROW_LIMIT = 5000
SUPERSET_WORKERS = 4

SUPERSET_WEBSERVER_PORT = 8088
#---------------------------------------------------------

#---------------------------------------------------------
# Flask App Builder configuration
#---------------------------------------------------------
# Your App secret key
SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'

# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
SQLALCHEMY_DATABASE_URI = 'mysql://账号:密码@ip或者主机地址/数据库名?charset=utf8'

# Flask-WTF flag for CSRF
CSRF_ENABLED = True

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''

在完成了config.py文件后,需要对系统的'PYTHONPATH'环境变量进行配置。
打开终端,输入export PYTHONPATH=/home/nzh/superset_project。这个路径也就是存放config.py的路径。

再输入,echo $PYTHONPATH。来查询PYTHONPATH是否成功保存。


部署superset_第2张图片
image.png

但是这样做有个弊端,就是当这个终端窗口关闭后,这个环境变量就消失了,所以我们需要创建永久的环境变量。
打开终端,输入vim /etc/profile,profile是系统环境变量的配置文件。
在文件结尾处,加上红框中的内容,保存并退出


部署superset_第3张图片
image.png

vim 操作提示
在使用vim命令进入文件后,按‘I’开启编辑模式,可修改文件。
在编辑结束后按一下‘ESC’,然后输入‘:wq’。意思是保存并退出。

然后再终端再输入一句,source /etc/profile。这句命令的作用是,立即执行profile文件,如果不输入这条命令,那么将在下次开启终端时才会查到环境变量。

运行superset

进入虚拟环境,然后输入superset runserver -p 端口号 来运行应用。


部署superset_第4张图片
image.png

如果所示,superset_config.py文件已经被加载,元数据库成功切换到Mysql。

注意Linux系统的文件权限

错误的原因是,config.py文件我从本地上传到服务器的,但是并没有直接放入项目目录,而是/home/xx中xx这个目录(我的项目在/home/nzh中),在使用mv命令将文件移至项目目录后,程序仍不能找到改文件,进过和同事共同查找原因,发现是文件权限不同。


部署superset_第5张图片
image.png

使用命令chmod 777 文件名,用来获取使用文件的权限。


部署superset_第6张图片
image.png

此时superset_configt.py文件就可以被读出来了。

你可能感兴趣的:(部署superset)