前文中,我們已經在windows環境進行了superset的安裝,也對圖表功能進行了展示。但是在平時使用以及生產環境中,還是需要在centos環境下進行操作。

本文將帶大家詳解在centos7環境進行apache superset安裝的全過程。

參考文件: https://superset.apache.org/docs/installation/installing-superset-from-scratch

注意:superset 1.2.0需要python 3.7.9或以上的版本,不然可能會有各種坑。

{{uploading-image-586464.png(uploading...)}}

安裝Python3.8

安裝依賴


yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

下載安裝包

wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
tar -zxvf Python-3.8.3.tgz

編譯安裝

mkdir /usr/local/python3
cd Python-3.8.3
./configure --prefix=/usr/local/python3
make && make install

修改系統預設python指向

rm -rf /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python

修改系統預設pip指向

rm -rf /usr/bin/pip
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

驗證

python -V

修復yum

python3會導致yum不能正常使用

vi /usr/bin/yum
把 #! /usr/bin/python 修改為 #! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改為 #! /usr/bin/python2
vi /usr/bin/yum-config-manager
#!/usr/bin/python 改為 #!/usr/bin/python2
沒有的不用修改

建立superset安裝使用者

root使用者登入,建立使用者

useradd superset

建立密碼

passwd superset

輸入兩次密碼確認。

為普通使用者賦予sudo許可權

修改檔案/etc/sudoers的寫許可權(預設為只讀)
chmod 640 /etc/sudoers
vim /etc/sudoers 使用vim編輯檔案/etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
superset ALL=(ALL) ALL wq儲存,並將/etc/sudoers改為只讀
chmod 440 /etc/sudoers

修改完成後,切換到該使用者

su superset

安裝Superset

安裝依賴

sudo yum -y install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel

升級pip

 pip install --upgrade pip
pip install --upgrade setuptools pip

強烈建議在虛擬環境中安裝 Superset

 pip install virtualenv

建立和啟用虛擬環境:

cd /home/superset/
python -m venv venv
. venv/bin/activate

啟用虛擬環境後,您安裝或解除安裝的所有 Python 包都將被限制在此環境中。

可以通過deactivate在命令列上執行來退出環境。

安裝superset

pip install apache-superset==
還是先看一下版本

沒問題,安裝

pip install apache-superset

初始化資料庫:

superset db upgrade

通過執行以下命令完成安裝:

export FLASK_APP=superset
superset fab create-admin
superset load_examples
superset init
superset run -p 8088 --with-threads --reload --debugger

踩坑大全

1、bunzip2: command not found

bunzip2包缺失,安裝即可
yum install -y bzip2

2、No local packages or working download links found for holidays0.10.3

error: Could not find suitable distribution for Requirement.parse('holidays0.10.3')

找不到這個holidays包,檢查網路,或者去pip網站下載

3、Please upgrade to Cython 0.29 or newer

yum安裝的Cython版本太低,現在新版本安裝

4、CMake 3.2 or higher is required

CMake版本太低
下載3.2以上版本
wget https://cmake.org/files/v3.2/cmake-3.2.3.tar.gz tar -zxvf cmake-3.2.3.tar.gz
./bootstrap
gmake
sudo make install
cmake --version

5、-bash: ./configure: No such file or directory

未安裝c環境
yum install gcc gcc-c++

6、CMake Error: Could not find CMAKE_ROOT !!!

新開一個終端試一下

本文詳細介紹了Centos安裝superset的全過程,未完待續~

superset學習交流群已成立,歡迎各位大神進群交流。更多學習資料,請關注 大資料流動~