前文中,我们已经在windows环境进行了superset的安装,也对图表功能进行了展示。但是在平时使用以及生产环境中,还是需要在centos环境下进行操作。

本文将带大家详解在centos7环境进行apache superset安装的全过程。

参考文档:https://superset.apache.org/docs/installation/installing-superset-from-scratch

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


安装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

Apache Superset1.2.0教程(四)—— CentOS环境安装_Python

修改系统默认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

Apache Superset1.2.0教程(四)—— CentOS环境安装_apache_02

修复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==
还是先看一下版本

Apache Superset1.2.0教程(四)—— CentOS环境安装_python_03

没问题,安装

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 holidays==0.10.3 error: Could not find suitable distribution for Requirement.parse('holidays==0.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的全过程,未完待续~