本文安裝Superset大致分為以下部分:
- 在操作系統中安裝相關依賴,我所用的操作系統為Centos6.5
- 安裝Python3.6.6
- 安裝Superset
詳細步驟如下:
-
相關依賴的安裝
yum install sqlite* //我第一次安裝的時候沒有安裝此依賴,最后在Superset初始化過程中有報錯信息,提示缺少_sqlite3 這個包
yum upgrade python-setuptools //這是對該依賴的升級,如果原來操作系統中無此依賴,需要先install
yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
-
Python3.6.6的安裝
首先根據自己的操作系統,在官網下(https://www.python.org/)載相關安裝包或源代碼,我用的是源代碼安裝
tar zxvf Python-3.6.6.tgz //解壓安裝包
cd Python-3.6.6 //進入解壓后的目錄
./configure --prefix=/usr/local/python3/ --enable-optimizations //其中"/user/local/python3/"是我的Python要安裝的位置,之后是一個優化參數(起到優化python的作用,能提高Python的執行速度,也可以不要)
make && and make install //編譯和安裝Python
python安裝完之后,現在操作系統里面有兩個版本的Python(Python2.x和Python3.6.6),此時默認還是使用系統自帶的版本,我們可以通過修改軟連接來實現默認使用Python3.6.6
rm -rf /usr/bin/python //刪除原來的軟連接文件
ln -s /usr/local/python3/bin/python3 /usr/bin/python //修改軟連接
python -V //核對python版本
同理創建Python下Pip的軟連接
需要注意的是,系統本身有的軟只支持python2,我們需要對其相關文件進行更改,比如yum
ll /usr/bin/python*
lrwxrwxrwx 1 root root 30 Sep 17 17:39 /usr/bin/python -> /usr/local/python3/bin/python3
lrwxrwxrwx 1 root root 18 Sep 17 12:54 /usr/bin/python2 -> /usr/bin/python2.6 //此處表示python2 命令進入的是python2.6環境
-rwxr-xr-x 1 root root 9032 Aug 18 2016 /usr/bin/python2.6
-rwxr-xr-x 1 root root 1418 Aug 18 2016 /usr/bin/python2.6-config
lrwxrwxrwx 1 root root 6 Sep 17 11:56 /usr/bin/python3 -> python
lrwxrwxrwx 1 root root 16 Sep 17 11:56 /usr/bin/python-config -> python2.6-config
Vi /usr/bin/yum //把第一行內容改為 "/usr/bin/python2"
-
安裝Virtualenv(此步也可以省略)但是建議使用virtualenv 安裝Superset
pip install virtualenv //安裝Virtualenv
virtualenv venv_name //創建一個對象,默認創建在當前目錄
. ./venv_name/bin/activate // 激活對象,一旦激活,所作的一切都被限制在virtualenv中
deactivate //退出virtualenv
-
Superset的安裝(我是在Virtualenv中安裝的)
virtualenv superset // 創建一個名為superset的Virtualenv
. ./superset/bin/activate //激活
pip install superset // 安裝Superset,也可以使用-i參數使用國內的pip 源,速度會快一些
-
初始化Superset
fabmanager create-admin --app superset //創建一個superset對象並設置其管理員賬戶密碼
superset load_examples //為名為superset的Superset對象創建一些數據例子
superset runserver // 使用默認參數啟動superset
gunicorn -w 2 --timeout 120 -b 0.0.0.0:8088 --limit-request-line 0 --limit-request-field_size 0 superset:app //我在使用superset時系統建議使用這種方法啟動superset,gunicorn 具體使用方法見官方文檔:http://docs.gunicorn.org/en/stable/settings.html
現在你就可以使用瀏覽器打開supersetIP:8088,然后使用剛才的用戶名密碼登陸。
-
支持的數據庫
Mysql,Oracle,hive,Spark SQL,Sqlite等。
但是Superset不會捆綁連接到數據庫,需要安裝相應的軟件包。
-
Oracle數據庫的連接
Superset 連接Oracle數據庫需要在服務端安裝Oracle客戶端(安裝過程省略)
需要注意的時要先安裝libaio依賴(yum install libaio)
在/etc/ld.so.conf.d/ 目錄下創建oracle.conf
echo "$ORACLE_HOME/client64/lib/" > /etc/ld.so.conf.d/oracle.conf
export LD_LIBRARY_PATH= /usr/lib/oracle/11.2/client64/lib$ LD_LIBRARY_PATH //配置動態庫環境變量
pip install cx_Oracle //安裝插件
然后就可以通過superset訪問Oracle數據的數據了
- 如果大家發現有什么不到位的,歡迎提問交流,共同進步。