前文中,我们已经在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
安装依赖
代码语言:javascript复制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
下载安装包
代码语言:javascript复制wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
tar -zxvf Python-3.8.3.tgz
编译安装
代码语言:javascript复制mkdir /usr/local/python3
cd Python-3.8.3
./configure --prefix=/usr/local/python3
make && make install
修改系统默认python指向
代码语言:javascript复制rm -rf /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python
修改系统默认pip指向
代码语言:javascript复制rm -rf /usr/bin/pip
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
验证
代码语言:javascript复制python -V
修复yum
python3会导致yum不能正常使用
代码语言:javascript复制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用户登录,创建用户
代码语言:javascript复制useradd superset
创建密码
代码语言:javascript复制passwd superset
输入两次密码确认。
为普通用户赋予sudo权限
代码语言:javascript复制修改文件/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
修改完成后,切换到该用户
代码语言:javascript复制su superset
安装Superset
安装依赖
代码语言:javascript复制sudo yum -y install gcc gcc-c libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
升级pip
代码语言:javascript复制 pip install --upgrade pip
pip install --upgrade setuptools pip
强烈建议在虚拟环境中安装 Superset
代码语言:javascript复制 pip install virtualenv
创建和激活虚拟环境:
代码语言:javascript复制cd /home/superset/
python -m venv venv
. venv/bin/activate
激活虚拟环境后,您安装或卸载的所有 Python 包都将被限制在此环境中。
可以通过deactivate
在命令行上运行来退出环境。
安装superset
代码语言:javascript复制pip install apache-superset==
还是先看一下版本
没问题,安装
代码语言:javascript复制pip install apache-superset
初始化数据库:
代码语言:javascript复制superset db upgrade
通过运行以下命令完成安装:
代码语言:javascript复制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
代码语言:javascript复制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')
代码语言:javascript复制找不到这个holidays包,检查网络,或者去pip网站下载
3、Please upgrade to Cython 0.29 or newer
代码语言:javascript复制yum安装的Cython版本太低,现在新版本安装
4、CMake 3.2 or higher is required
代码语言:javascript复制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
代码语言:javascript复制未安装c环境
yum install gcc gcc-c
6、CMake Error: Could not find CMAKE_ROOT !!!
代码语言:javascript复制新开一个终端试一下
本文详细介绍了Centos安装superset的全过程,未完待续~
superset学习交流群已成立,欢迎各位大神进群交流。更多学习资料,请关注 大数据流动~