本人安裝的版本及注意問題(安裝其他版本有些問題)
安裝superset0.23.0,如果用mysql需要安裝pip install mysql-python,不要再安裝mysqlclient
以下爲網上參考
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
如果報錯,請看:
https://zhidao.baidu.com/question/1240554972151163659.html
步驟三,安裝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 aspyvenv 我的在(/opt/data/ 下superset)
virtualenv venv
source ./bin/activate
想要退出virtualenv,直接輸入:
deactivate
參考:http://www.cnblogs.com/tk091/p/3700013.html
注意:接下來都在virtualenv下操作。
步驟四,更新pip和setuptools:
pip install --upgrade setuptools pip
步驟五,安裝mysqlclient。
將superset的元數據存儲改成mysql,就需要這一步。
ROOT權限下
yum install mysql-devel
virtualenv下:
pip install mysqlclient
參考:將 superset 的sqlite 改成 MySQL :
https://github.com/apache/incubator-superset/issues/2467
步驟六,安裝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:[email protected]/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 [[email protected]]: [email protected]
Password: root
Repeat for confirmation: root
# Initialize the databasesuperset db upgrade# Load some data to play with
# superset load_examples# Create default roles and permissionssuperset init
5) 漢化
從源碼中下載
https://github.com/apache/incubator-superset/tree/master/superset/translations
這個目錄,複製到
./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
https://superset.incubator.apache.org/
特徵
- 豐富的數據可視化集
- 一個易於使用的界面,用於探索和可視化數據
- 創建和共享儀表板
- 通過集成主要身份驗證提供程序(數據庫,OpenID,LDAP,OAuth和通過Flask AppBuilder的REMOTE_USER)進行企業級身份驗證
- 可擴展的,高粒度的安全/權限模型,允許誰可以訪問各個功能和數據集的複雜規則
- 一個簡單的語義層,允許用戶通過定義哪些字段應顯示哪些下拉列表以及哪些聚合和功能指標可供用戶使用,從而控制數據源在UI中的顯示方式
- 通過SQLAlchemy與大多數SQL講RDBMS集成
- 與Druid.io深度集成