superset在 centos 7安裝運行

本人安裝的版本及注意問題(安裝其他版本有些問題)

安裝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 &

 

登錄:

http://118.126.117.140: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深度集成
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章