第1章 Superset安裝及使用
Apache Superset是一個開源的、現代的、輕量級BI分析工具,能夠對接多種數據源、擁有豐富的圖標展示形式、支持自定義儀表盤,且擁有友好的用戶界面,十分易用。
由於Superset能夠對接常用的大數據分析工具,如Hive、Kylin、Druid等,且支持自定義儀表盤,故可作為數倉的可視化工具。
Superset官網地址:http://superset.apache.org/
1.1 安裝Python環境
Superset是由Python語言編寫的Web應用,要求Python3.6的環境。
1.1.1 安裝Miniconda
conda是一個開源的包、環境管理器,可以用於在同一個機器上安裝不同Python版本的軟件包及其依賴,並能夠在不同的Python環境之間切換,Anaconda包括Conda、Python以及一大堆安裝好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。此處,我們不需要如此多的工具包,故選擇MiniConda。
1)下載Miniconda(Python3版本)
下載地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
2)安裝Miniconda
(1)執行以下命令進行安裝,並按照提示操作,直到安裝完成。
$ bash Miniconda3-latest-Linux-x86_64.sh
(2)在安裝過程中,出現以下提示時,可以指定安裝路徑
3)配置環境變量
修改/etc/profile.d/env.sh文件,內容如下
4)取消激活base環境
Miniconda安裝完成后,每次打開終端都會激活其默認的base環境,我們可通過以下命令,禁止激活默認base環境。
conda config --set auto_activate_base false
1.1.2 創建Python3.6環境
1)配置conda國內鏡像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --set show_channel_urls yes
2)創建Python3.6環境
conda create --name superset python=3.6
說明:conda環境管理常用命令
- 創建環境:conda create -n env_name
- 查看所有環境:conda info --envs
- 刪除一個環境:conda remove -n env_name --all
3)激活superset環境
conda activate superset
激活后效果如下圖所示
備注:退出當前環境
conda deactivate
4)執行python命令查看python版本
1.2 Superset部署
1.2.1 安裝依賴
安裝Superset之前,需安裝以下所需依賴
sudo yum install -y python-setuptools sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
1.2.2 安裝Superset
1)安裝(更新)setuptools和pip
pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
說明:pip是python的包管理工具,可以和centos中的yum類比
2)安裝Supetset
pip install apache-superset -i https://pypi.douban.com/simple/
說明:-i的作用是指定鏡像,這里選擇國內鏡像
3)初始化Supetset數據庫
superset db upgrade
4)創建管理員用戶
export FLASK_APP=superset
flask fab create-admin
說明:flask是一個python web框架,Superset使用的就是flask
5)Superset初始化
superset init
1.2.3 啟動Supterset
1)安裝gunicorn
pip install gunicorn -i https://pypi.douban.com/simple/
說明:gunicorn是一個Python Web Server,可以和java中的TomCat類比
2)啟動Superset
第1步:確保當前conda環境為superset,及下圖所示
第2步:啟動
gunicorn --workers 5 --timeout 120 --bind 0.0.0.0:8787 superset:app --daemon
為了看日志我們這么寫:
gunicorn --workers 5 --timeout 120 --bind 0.0.0.0:8787 superset:app --daemon --error-logfile error.log
說明:
- --workers:指定進程個數
- --timeout:worker進程超時時間,超時會自動重啟
- --bind:綁定本機地址,即為Superset訪問地址
- --daemon:后台運行
- --error-logfile:輸出日志
3)停止superset
停掉gunicorn進程
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
為什么這么寫看下面的圖:
退出superset環境
conda deactivate
4)登錄Superset
訪問http://192.168.201.6:8787/,並使用創建的管理員賬號進行登錄。
原因需要看日志:
tail -f error.log
解決:
1、安裝gevent
pip install gevent -i https://pypi.douban.com/simple
2、啟動
gunicorn --workers 5 -k gevent --timeout 120 --bind 0.0.0.0:8787 "superset.app:create_app()" --daemon --error-logfile error.log
還是有各種錯誤但是找不到日志:
只能用superset啟動看看