背景說明
公司數據分析人員需要將日常監控分析數據進行可視化,在踩了一些坑之后,終於在業務環境中搭建成功superset,后續復現兩次流程也是成功的,分享一波。。。
業務環境說明
- 操作系統:centos 7
- python 3.6
安裝步驟簡介和重點
- 安裝python3以上 (網上教程一堆,請自行搜索,后面自己也計划匯總一版流程),以下安裝過程出現的均是python3
- 安裝容器和密碼驗證工具,建議直接按照以下指令順序執行就好
# yum upgrade python-setuptools
# yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
# pip3 install cryptography
# pip3 install virtualenv
- 新建一個容器空間進行操作,(網上一堆的教程都是將superset安裝在容器之中,可能是為了環境隔離吧,因為中間需要使用的第三方依賴庫還是很多的,避免影響了原始業務系統環境吧)
---以下是重點,最多坑的地方,因為superset的運行依賴很多第三方庫代碼,所以安裝python的依賴包並保證完整性很費事,有人整理了一個文檔將這些依賴包進行匯總,下載此文檔后,在本地按照文件安裝依賴包就好,我將依賴包的匯總文檔整理到了github,方便后續下載# python3 -m venv venv -- 新建一個名為venv的容器空間,同時也會新建在當前目錄下新建一個venv的文件夾,請提前切換好工作文件夾 # . venv/bin/activate -- 進入venv的容器環境 # pip3 install superset -- 容器環境下安裝superset
# wget https://github.com/Warding/InternetRecords/blob/master/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/superset_requirements.txt # pip3 install -r superset_requirements.txt -- 安裝依賴包 # superset db upgrade -- 初始化db環境 # export FLASK_APP=superset --賬戶設定 # flask fab create-admin --創建賬戶按提示輸入賬密就好 # superset load_examples --下載樣例數據,可不執行 # superset init --superset環境初始化 # superset run -p 8088 -h 192.168.2.1 --with-threads -- superset 啟動(這里面我指定了端口和IP,分別是-p 和 -h 參數,建議指定成自己的服務器IP和某個端口,網頁訪問的時候,**還需要將這個端口對外開放,不然你本地登錄網頁訪問會無法成功**)
- 使用 輸入上面的IP和端口對應的網址就行 http://192.168.2.1:8088/, 登錄后輸入剛剛建立的賬密就好
tips
-
出現superset 使用問題,比如缺失什么Python的第三方依賴庫,請一定要在容器空間內安裝所需的依賴包,例如需要連接mysql,你需要進入venv容器下進行安裝pip3 install pymysql,然后需要重啟superset
-
退出容器命令 deactivate
-
為避免出現關閉shell窗口導致superset無故退出,建議在容器下nohup 啟動superset,
# nohup superset run -p 8088 -h 192.168.2.1 --with-threads &
總結
1:superset是第一次接觸的在linux環境下使用虛擬容器的工具,說實話操作有點別扭,不論啟動還是配置什么的,都需要切入對應容器空間進行操作,還需要注意配置的是不是容器的環境,有時候會將linux全局環境的操作誤以為在容器環境也會生效,這點需要格外注意和檢查。
2:資源包的整理需要及時,類似於上文中提到的python依賴包整理文檔,第一次安裝的當天依賴包還是有效的,等到第二天再去測試的時候,發現原網址鏈接下的依賴包已經變化,無法正常安裝,趕緊從第一次成功的環境將依賴包文檔本地保存一份並收藏,不然后面又要大折騰。所以日常應該注意,網絡上收藏的網址資源並不是完全靠譜的,覺得很重要的,最好自己歸檔整理一次,不然后續麻煩的還是自己。