superset安装使用说明-续

系列文章目录

superset 1.4的安装请参考superset安装使用说明_冰帆<的博客-CSDN博客


文章目录

前言

申请了一台阿里云云主机,今天从头安装重新安装下superset,旧版本的请参考:superset安装使用说明_冰帆<的博客-CSDN博客

本文只针对安装过程中出现的问题进行简要介绍。


一、环境准备

阿里云主机一台:centos 7.9

python 环境:3.9.12

mysql:8.0.31

安装后:superset:2.0.1

二、superset安装过程中出现的问题解决

1.python 库的版本不一致

执行superset db upgrade 出现的问题

1:Error: Could not locate a Flask application. Use the 'flask --app' option, 'FLASK_APP' environment variable, or a 'wsgi.py' or 'app.py' file in the current directory.

解决:export FLASK_APP=superset

2:修改setuptools版本

pip3 install setuptools==65.5.0 pip -i https://pypi.douban.com/simple/ --trusted-host pypi.douban.com

3:ModuleNotFoundError: No module named 'cryptography.hazmat.backends.openssl.x509'

hazmat.backends.openssl.x509 模块找不到

cryptography默认安装的39.0.0版本,将cryptography版本加到38.0.0

pip3 install cryptography==38.0.0  -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

4:“ModuleNotFoundError: No module named 'wtforms.ext'”

修改WTForms版本

pip3 install WTForms==2.3.3  -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2.安装mysql 8.0

1、安装后修改root 密码

sudo grep 'temporary password' /var/log/mysqld.log

2023-01-13T08:47:22.564620Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: R:+GqaOQy4*l

使用默认初始化密码登陆:

mysql -uroot -pR:+GqaOQy4*l


use mysql;
#更新root密码,root 是用户名,20230113是密码,
alter user 'root'@'localhost' IDENTIFIED  WITH mysql_native_password BY '20230113';
#创建superset用户 superset 是用户名,20230113是密码,%,不限制登陆ip
CREATE USER 'superset'@'%' IDENTIFIED BY '20230113';
#更改superset密码
alter user  'superset'@'%' IDENTIFIED WITH mysql_native_password BY '20230113'; 

flush privileges;
quit;

错误代码如下

"Authentication plugin 'caching_sha2_password' cannot be loaded: 

原因:MySQL8.0之前的版本中加密规则是mysql_native_password,
而在MySQL8.0之后,加密规则是caching_sha2_password。

使用上述修改用户的加密规则。

3、修改使用mysql库

superset 不更改默认使用的是sqlite,更改为使用mysql库

vi superset/config.py  

vi superset/superset_config.py

找到对应的地方:

#SQLALCHEMY_DATABASE_URI = 'sqlite:path/to/superset.db'
SQLALCHEMY_DATABASE_URI = 'mysql://superset:password@hadoop001/superset?charset=utf8'

4、加载example数据

下载 GitHub - apache-superset/examples-data

解压后放到临时文件夹中:/opt/data/superset/examples-data

启动文件服务

python3 -m http.server --port=8001

vi superset/examples/helper.py 


#BASE_URL = "https://github.com/apache-superset/examples-data/blob/master/"
BASE_URL = "http://127.0.0.1:8001/examples-data-master/"

执行:superset load_examples

执行加载examples,需要创建admin用户

superset fab create-admin

5、修改使用中文

superset/config.py  

#BABEL_DEFAULT_LOCALE = "en"
BABEL_DEFAULT_LOCALE = "zh"

6、使用gunicorn启动 

vi gunicorn_config.py

#内容开始
import multiprocessing


bind = '0.0.0.0:8888'      #绑定ip和端口号
backlog = 512                #监听队列
timeout = 120   #超时
#worker_class = 'gevent'
workers = 5
worker_connections = 1000
#threads = 2 #指定每个进程开启的线程数
loglevel = 'info'  # 日志级别
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'    #设置gunicorn访问日志格式,错误日志无法设置



pidfile = '/opt/servers/python3/venv/logs/pidfile'
errorlog = '/opt/servers/python3/venv/logs/gunicorn_error.log'
accesslog = '/opt/servers/python3/venv/logs/gunicorn_access.log'

print("IP and PORT:"+bind)
print("pid_file:"+pidfile)
print("error_log:"+errorlog)
print("access_log:"+accesslog)

#内容结束

 vi superset.sh


#内容开始

#!/bin/bash

superset_status(){
    result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`
    if [[ $result -eq 0 ]]; then
        return 0
    else
        return 1
    fi
}
superset_start(){
        #source ~/.bashrc
        superset_status >/dev/null 2>&1
        if [[ $? -eq 0 ]]; then
            #. venv/bin/activate; gunicorn --workers 5 --timeout 120 --bind 59.42.255.239:8088 --daemon 'superset.app:create_app()'
           . venv/bin/activate; gunicorn -c ./gunicorn_config.py --daemon 'superset.app:create_app()' > ./venv/logs/logs.log
        else
            echo "superset正在运行"
        fi

}

superset_stop(){
    superset_status >/dev/null 2>&1
    if [[ $? -eq 0 ]]; then
        echo "superset未在运行"
    else
        ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
    fi
}


case $1 in
    start )
        echo "启动Superset"
        superset_start
    ;;
    stop )
        echo "停止Superset"
        superset_stop
    ;;
    restart )
        echo "重启Superset"
        superset_stop
        superset_start
    ;;
    status )
        superset_status >/dev/null 2>&1
        if [[ $? -eq 0 ]]; then
            echo "superset未在运行"
        else
            echo "superset正在运行"
        fi
esac

#内容结束

 chmod 777 superset.sh

启动:superset.sh start 

停止:superset.sh stop

状态:superset.sh status


总结

安装与1.4.2基本一致,中间出现遇到的一些坑,可以参考,大家尽量少踩坑。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冰帆<

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

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

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

打赏作者

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

抵扣说明:

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

余额充值