一、环境
centos7.5
二、安装步骤
1、首先安装python3的环境
2、安装虚拟环境
pip3 install virtualenv
3、创建虚拟环境
virtualenv supersetenv
4、进入虚拟环境目录
cd supersetenv/
5、激活虚拟环境
source ./bin/activate
以下操作均在supersetenv虚拟环境下操作
6、创建依赖环境列表文件
vim req.txt
alembic==1.0.0 # via flask-migrate
amqp==2.3.2 # via kombu
asn1crypto==0.24.0 # via cryptography
babel==2.6.0 # via flask-babel, flower
billiard==3.5.0.4 # via celery
bleach==2.1.2
boto3==1.4.7
botocore==1.7.48
cchardet==1.1.3 # via tabulator
celery==4.2.0
certifi==2018.8.24 # via requests
cffi==1.11.5 # via cryptography
chardet==3.0.4 # via requests
click==6.7 # via flask, flask-appbuilder, tableschema, tabulator
colorama==0.3.9
contextlib2==0.5.5
cryptography==1.9
defusedxml==0.5.0 # via python3-openid
docutils==0.14 # via botocore
et-xmlfile==1.0.1 # via openpyxl
flask-appbuilder==1.12.0
flask-babel==0.11.1 # via flask-appbuilder
flask-caching==1.4.0
flask-compress==1.4.0
flask-login==0.4.1 # via flask-appbuilder
flask-migrate==2.1.1
flask-openid==1.2.5 # via flask-appbuilder
flask-sqlalchemy==2.1 # via flask-appbuilder, flask-migrate
flask-wtf==0.14.2
flask==0.12.2
flower==0.9.2
future==0.16.0
futures==3.1.1 # via flower
geopy==1.11.0
gunicorn==19.8.0
html5lib==1.0.1 # via bleach
humanize==0.5.1
idna==2.6
ijson==2.3 # via tabulator
isodate==0.6.0
itsdangerous==0.24 # via flask
jdcal==1.4 # via openpyxl
jinja2==2.10 # via flask, flask-babel
jmespath==0.9.3 # via boto3, botocore
jsonlines==1.2.0 # via tabulator
jsonschema==2.6.0 # via tableschema
kombu==4.2.1 # via celery
linear-tsv==1.1.0 # via tabulator
mako==1.0.7 # via alembic
markdown==3.0
markupsafe==1.0 # via jinja2, mako
numpy==1.15.2 # via pandas
openpyxl==2.4.11 # via tabulator
pandas==0.23.1
parsedatetime==2.0.0
pathlib2==2.3.0
polyline==1.3.2
pycparser==2.19 # via cffi
pydruid==0.4.4
pyhive==0.5.1
python-dateutil==2.6.1
python-editor==1.0.3 # via alembic
python-geohash==0.8.5
python3-openid==3.1.0 # via flask-openid
pytz==2018.5 # via babel, celery, flower, pandas
pyyaml==3.12
requests==2.18.4
rfc3986==1.1.0 # via tableschema
s3transfer==0.1.13 # via boto3
sasl==0.2.1 # via thrift-sasl
simplejson==3.15.0
sqlalchemy-utils==0.32.21
sqlalchemy==1.2.2
sqlparse==0.2.4
tableschema==1.1.0
tabulator==1.15.0 # via tableschema
thrift-sasl==0.3.0
thrift==0.11.0
tornado==5.1.1 # via flower
unicodecsv==0.14.1
unidecode==1.0.22
urllib3==1.22 # via requests
vine==1.1.4 # via amqp
webencodings==0.5.1 # via html5lib
werkzeug==0.14.1 # via flask
wtforms==2.2.1 # via flask-wtf
xlrd==1.1.0 # via tabulator
7、安装依赖
pip3 install -r req.txt
8、安装mysqlClient(将superset的元数据存储改成mysql,就需要这一步)
pip3 install mysqlClient
ps:如果报错,缺少mysql-devel,那么需要安装mysql-devel。
如果安装的mysql是用yum默认安装的,那么会是MariaDB(centos7默认),使用yum
install mysql-devel。
如果是自己单独安装的mysql,需要自己去下载相应版本的mysql-devel的rpm包安装。
见另一篇博客:Centos7安装mysql-devel
9、安装superset
pip3 install superset==0.28.0
10、创建superset配置文件
bin目录下:
vim superset_config.py
内容如下:
# -*- coding: utf-8 -*-
#---------------------------------------------------------
# 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'
#元数据存储默认使用的是sqlite。SQLALCHEMY_DATABASE_URI = 'sqlite:path/to/superset.db'
#我这里改成mysql
#mysql://用户名:密码@192.168.1.162/数据库名?charset=utf8
SQLALCHEMY_DATABASE_URI = 'mysql://xxxxt:xxxxxx@localhost/superset?charset=utf8'
# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = 'pk.eyJ1Ijoia2l6emxlIiwiYSI6ImNqc2lvZzN5ZDBycDIzeWtnb3lsOW9uYmYifQ.Q3NYV_M58FldzJRX0jiUTQ'
#汉化
# ---------------------------------------------------
# Babel config for translations
# ---------------------------------------------------
# Setup default language
BABEL_DEFAULT_LOCALE = 'zh'
# Your application default translation path
BABEL_DEFAULT_FOLDER = 'babel/translations'
# The allowed translation for you app
LANGUAGES = {
'zh': {'flag': 'cn', 'name': 'Chinese'}
}
11、初始化数据
fabmanager create-admin --app superset
初始化过程中会需要输入username、password、mail等信息。
12、元数据库升级
superset db upgrade
13、元数据库初始化
superset init
14、后台运行superset
gunicorn -w 4 --timeout 60 -b 0.0.0.0:8088 --limit-request-line 0 --limit-request-field_size 0 superset:app >log.out 2>&1 &
PS:如果端口冲突的话,这里的8088可以更改,同时将superset_config.py 文件中端口也一并修改。
三、成果
在浏览器中输入url: localhost:8088
输入用户名密码即可进入使用。