参考:http://blog.csdn.net/u014729236/article/details/76302888?locationNum=2&fps=1
OS: centos7
Superset版本:0.23.2
Python版本:2.7
Druid版本:0.9.2
步骤一:安装cryptography
cryptography的作用是将连接密码加密。
sudo yum upgrade python-setuptools
sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
步骤二,安装pip
如果还没有安装pip,就需要安装pip:
pip下载:
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
pip安装:
tar -xzvf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py install
如果报错,请看:
步骤三,安装virtualenv
官网推荐在virtualenv中安装 superset (Python 3 already ships virtualenv, for Python 2 you need to install it)。
pip install virtualenv
创建和激活一个 virtualenv :
# virtualenv is shipped in Python 3 as
pyvenv 我的在(/opt/data/ 下superset)
virtualenv venv
source ./bin/activate
想要退出virtualenv,直接输入:
deactivate
注意:接下来都在virtualenv下操作。
步骤四,
更新pip和setuptools:
pip install --upgrade setuptools pip
步骤五,安装mysqlclient。
将superset的元数据存储改成mysql,就需要这一步。
ROOT权限下
yum install mysql-devel
virtualenv下:
pip install mysqlclient
参考:将 superset 的sqlite 改成 MySQL :
步骤六,安装superset
1、添加superset的配置文件。
在python所在的目录即PYTHONPATH(如,我这里是
/hadoop/haozhuo/superset-venv/bin
下),手动添加superset的配置文件
superset_config.py。
内容如下:
# ===============
superset_config.py开始
================
# -*- coding: utf-8 -*-
#使用python2.7,如果下面三行不加的话,使用中文时会出问题。
import sys # import sys package, if not already imported
reload(sys)
sys.setdefaultencoding('utf-8')
#---------------------------------------------------------
# Superset specific config
#---------------------------------------------------------
ROW_LIMIT = 5000
SUPERSET_WORKERS = 4
#默认是8088,改成8388
SUPERSET_WEBSERVER_PORT = 8388
#---------------------------------------------------------
#---------------------------------------------------------
# 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://
datag
:
yjkdatag
@192.168.1.162/
superset
?charset=utf8'
# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
#汉化
BABEL_DEFAULT_LOCALE='zh'
LANGUAGES = {
'zh': {'flag': 'cn', 'name': 'Chinese'},
'en': {'flag': 'us', 'name': 'English'}
}
# ===============
superset_config.py结束
================
2) 安装
查看有哪些版本
pip查看superset所有可用版本(这里指定了镜像。官网的太慢),输入一个不存在的版本号,pip就会告诉你可用的版本号:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==
999999
安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==0.23.2
如果不指定镜像,直接输入下面的即可:
pip install superset==0.23.2
卸载:
pip uninstall superset
3) 设置Druid的时区:
vi /hadoop/haozhuo/super/lib/python2.7/site-packages/superset/
config.py
将
DRUID_TZ = tz.tzutc()
改成:
DRUID_TZ = tz.gettz('Asia/Shanghai')
如下图:
4)初始化数据
fabmanager create-admin --app superset
然后需要输入:
Username [admin]: jwzhou
User first name [admin]: zhou
User last name [user]: jianwen
Email [admin@fab.org]: zhoujianwen_email@yeah.net
Password: root
Repeat for confirmation: root
# Initialize the database
superset db upgrade
# Load some data to play with
# superset load_examples# Create default roles and permissions
superset init
5) 汉化
从源码中下载
这个目录,复制到
./lib/python2.7/site-packages/superset/下
(我下载的0.23.2好像已经带了汉化包,故可忽略复制)
自已翻译后需要将.po文件翻译成.mo文件:
pybabel compile -d translations
6)启动
# Start the web server on port 8088, use -p to bind to another ports
uperset runserver
或者指定端口:
superset runserver -p 8388 &
登录:
你会发现很多按钮报500此时需要执行更新数据库
superset db upgrade
# To start a development web server, use the -d switch# superset runserver -d
特征
- 丰富的数据可视化集
- 一个易于使用的界面,用于探索和可视化数据
- 创建和共享仪表板
- 通过集成主要身份验证提供程序(数据库,OpenID,LDAP,OAuth和通过Flask AppBuilder的REMOTE_USER)进行企业级身份验证
- 可扩展的,高粒度的安全/权限模型,允许谁可以访问各个功能和数据集的复杂规则
- 一个简单的语义层,允许用户通过定义哪些字段应显示哪些下拉列表以及哪些聚合和功能指标可供用户使用,从而控制数据源在UI中的显示方式
- 通过SQLAlchemy与大多数SQL讲RDBMS集成
- 与Druid.io深度集成