centos7 安装 superset4.0.2 最新教程

一 安装 Miniconda3 (环境管理工具)

1.1 下载安装

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh

1.2 配置国内镜像源

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/
source ~/.bashrc

1.3 常用命令

# 禁止激活默认base环境
conda config --set auto_activate_base false
 
# 创建一个环境
conda create --name <环境名称> python=3.10
 
# 查看所有环境。
conda info --envs
 
# 激活一个环境
conda activate <环境名称>
 
# 退出当前环境、
conda deactivate
 
# 删除指定名称的虚拟环境,并删除所有环境相关的包及其依赖。
conda remove --name <环境名称> --all
 
# 删除指定名称的虚拟环境,同时保留已安装的包和依赖,以备以后重新创建虚拟环境时使用。
conda env remove --name <环境名称>

二 安装 Superset

2.1 安装系统依赖

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

2.2 创建python 虚拟环境

[root@fe01 ~]# conda create --name superset python=3.10
[root@fe01 ~]# conda activate superset
(superset) [root@fe01 ~]# 

此处需要指定python=3.10 别的版本有点bug

2.3 安装 superset

(superset) [root@fe01 ~]# pip install apache-superset

2.4 配置 superset

  1. 首先创建一个 mysql 数据库

    create database superset
    
  2. 生成一个强密钥

    (superset) [root@fe01 ~]# openssl rand -base64 42
    cxIZVIt6VDeKqlBhDd1jAtfYPYdIEhLf2YqHuA2WjS+3shkHOQ+MLoYg
    
  3. 打开配置文件并配置

    vim /path/to/miniconda3/envs/superset/lib/python3.10/site-packages/superset/config.py

    # Superset specific config
    SECRET_KEY = 'W26oCWUu49V66dfgMQ8mzMTl4oCJKnhWOZVuBXLjBAEdo3PtNkwlE3UA'
    # 数据库配置
    SQLALCHEMY_DATABASE_URI = 'mysql://user:passwd@127.0.0.1:3306/superset'
    

2.5 初始化数据库

在初始化之前,需要设置环境变量,flask是一个python web框架,Superset使用的就是flask

export FLASK_APP=superset

初始化数据库:

(superset) [root@fe01 ~]# superset db upgrade

2.6 创建管理员用户

(superset) [root@fe01 ~]# superset fab create-admin

2.7 superset 初始化

(superset) [root@fe01 ~]# superset init

三 Super启停

3.1 安装 gunicorn

(superset) [root@fe01 ~]# pip install gunicorn -i https://pypi.tuna.tsinghua.edu.cn/simple

3.2 启动

(superset) [root@fe01 ~]# gunicorn --workers 5 --timeout 120 --bind 0.0.0.0:8038 --daemon 'superset.app:create_app()'
  • –works:指线程数
  • –timeout:worker 进程超时时间,超时会自动重启
  • –bind:绑定本机地址,即Superset访问地址。这里绑定的地址需要设置为:0.0.0.0:8088,这样将会使gunicorn监听在所有网络接口上,而不仅仅是localhost。
  • –daemon:后台运行

3.3 停止

(superset) [root@fe01 ~]# ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
(superset) [root@fe01 ~]# conda deactivate

四 问题

  1. superset db upgrade报错:

    flask_appbuilder.security.sqla.manager:DB Creation and initialization failed
    

    如果caching_sha2_password插件无法在你的环境中使用,你可以尝试更改MySQL用户的认证方法来避开这个问题。你可以使用以下命令来更改用户的认证方法:

    ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
    
  2. pip install superset
    报错:

AttributeError: module ‘pkgutil‘ has no attribute ‘ImpImporter‘. Did you mean: ‘zipimporter‘? 

解决方法:

conda create --name superset python=3.10

指定python版本为3.10 解决,具体原因不明,可能为: python 3.12 时,由于自带的 pip (22.3.1) 版本较低,使用了在 python 3.12 中删除的废弃 API pkgutil.ImpImporter,其在 python 3.3 中标记为 deprecated。但是升级了pip为34.0 也没有解决。

  1. pip install pydoris
    错误:
Exception: Can not find valid pkg-config name.
Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually

解决方案:

sudo dnf install gcc mysql-devel python3-devel
  1. superset db upgrade
    报错:
ImportError: /root/app/anaconda3/envs/superset/bin/../lib/libstdc++.so.6: cannot allocate memory in static TLS block

解决方案:

export LD_PRELOAD=/usr/lib64/libstdc++.so.6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据AI

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值