離線安裝Superset 0.37

上文提到了Superset 0.37的在線安裝方式,只需要更新pip,然後pip install就可以了。但是在生產環境中,特別是內網環境中,很多時候是沒有外網的,這時候就需要採取離線安裝的方式。

本文將詳細介紹在Linux系統中離線安裝Superset的全過程,並整理了安裝過程中遇到的錯誤。

下載相關安裝包

註:本文所有安裝包均可以關注 「實時流式計算」 回復 「superset0916」 獲取

下載好安裝包以後,可以跳過本教程的所有下載步驟。

下載Superset,不要走錯路,是apache-superset

//pypi.org/project/apache-superset/#files

源碼包下載位置

//downloads.apache.org/incubator/superset/0.37.0/

在源碼下有一個 requirements.txt

可以通過其下載所需依賴包

安裝 Anaconda3

在安裝superset之前,我們還需要一個python環境,當然也得離線安裝,這裡推薦使用Ananconda

  • Anaconda是一個包含180+的科學包及其依賴項的發行版本。其包含的科學包包括:conda, numpy, scipy, ipython notebook等。

//www.anaconda.com/products/individual#macos

Anaconda 的下載文件比較大(約 500 MB),因為它附帶了 Python 中最常用的數據科學包。

可以選擇清華大學鏡像

//mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

進入用戶目錄下,這裡選擇root用戶

bash Anaconda3-4.4.0-Linux-x86_64.sh

安裝完後增加環境變數

vim /root/.bashrc
export PATH="/root/anaconda3/bin:$PATH"

使環境變數生效

source /root/.bashrc

驗證安裝結果
conda list,如果Anaconda被成功安裝,則會顯示已經安裝的包名和版本號。
在終端中輸入python。這條命令將會啟動Python交互介面,如果Anaconda被成功安裝並且可以運行,則將會在Python版本號的右邊顯示「Anaconda custom (64-bit)」。

成功~

離線下載Superset安裝包

superset依賴的包很多,在沒有外網的情況下需要一起下載下來,然後拷貝過去安裝。

下載所需依賴包

pip download -r requirements.txt -d <目錄> 

等待下載成功~

如果慢可以換一下pypi鏡像

指定單次安裝源

pip install <包名> -i //pypi.v2ex.com/simple

指定全局安裝源

在unix和macos,配置文件為:$HOME/.pip/pip.conf
在windows上,配置文件為:%HOME%\pip\pip.ini

[global]timeout = 6000  index-url = //pypi.douban.com/simple

中國pypi鏡像

把下載的包拷貝到沒有網的機器上

安裝本地安裝包

在內網機器上,開始安裝依賴包

pip install <目錄>/<文件名>` 或 `pip install --use-wheel --no-index --find-links=wheelhouse/ <包名>

<包名>前有空格

可簡寫為

pip install --no-index -f=<目錄>/ <包名>

注意,由於一些原因,很有可能下載不完整安裝包,這時候要耐心一點,看一看缺少什麼包,依賴什麼包,都安裝完整。

隨後解壓superset

tar -xvf apache-superset-0.37.0.tar.gz

進入目錄下,安裝

cd apache-superset-0.37.0
python setup.py install

如果,包安裝完整會提示成功,如果有Error一定要查找有什麼錯誤,再繼續往下

成功提示:

Finished processing dependencies for apache-superset==0.37.0

啟動Superset

在包都完整安裝以後,就可以安裝superset了

進入到superset安裝目錄

anaconda的默認目錄為

anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/

進入bin目錄

1、創建管理員帳號

python superset fab create-admin

2、初始化資料庫

superset db upgrade

3、載入例子

沒網的情況 要配置本地apache伺服器載入 見下面錯誤 就是官網給的幾個例子 可以跳過

superset load_examples 

4、初始化

superset init 

5、啟動superset 指定埠

superset run -p 8088 --with-threads --debugger -h 0.0.0.0

6、後台啟動

nohup superset run -p 8088 --with-threads --debugger -h 0.0.0.0 &

使用admin用戶密碼登錄就可以了

體驗一下0.37的新功能吧!

錯誤匯總

Error: apache-superset 0.37.0 requires XXX

基本都是包沒有安裝全 自行下載安裝成功

注意版本問題,一定要安裝指定的版本 要用 pip 安裝指定版本的 Python 包,只需通過 == 操作符 指定

pip install robotframework==2.8.7

下載時也是一樣

Collecting XXX WARMING: Retrying 卡住

在安裝包的時候 發現依賴包沒有安裝

一直找不到就會卡在這

不用一直等待 ctrl C 然後下載依賴包安裝

報錯Error:collecting setuptools>=40.8.0

自行手動安裝成功

pyarrow-0.17.1-cp37-cp37m-manylinux2014_x86_64.whl is not a supported wheel on this platform

輸入

python -c
"import pip._internal
print(pip._internal.pep425tags.get_supported())"

會顯示系統支援的所有pip

發現manylinux2014不支援

手動下載manylinux2010的包 安裝成功

fabmanager is going to be deprecated in 2.2.x

fabmanager 將取消 新的寫法是 flask fab

在創建管理員帳號時報:AttributeError: ‘NoneType’ object has no attribute ‘auth_type’

要去superset的目錄下執行

由於是anaconda安裝,所以superset的安裝目錄位於

anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/

Error: Could not import “superset.superset”

再執行 python superset fab create-admin

在anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/bin/目錄下

使用此命令 python superset fab create-admin

superset load_examples:初始化實例數據,連接錯誤,由於github上面的實例數據無法獲取

去github下載數據文件://github.com/apache-superset/examples-data

將該文件解壓,映射到本地apache伺服器

修改examples/helpers.py base_url為本地地址

啟動了但是無法訪問superset

注意啟動命令不要 簡單的使用superset run -p 8088

要用 superset run -p 8088 –with-threads –debugger -h 0.0.0.0

更多Flink,Kafka等實時大數據分析相關技術博文,科技資訊,歡迎關注實時流式計算 公眾號後台回復 「電子書」 下載300頁Flink實戰電子書

Tags: