Superset安装过程(Superser版本0.38.1 python版本3.6.2 Mysql8.0)

 写在前面:本文章是根据尚硅谷的Superset教程改的,按照尚硅谷的教程有些代码行不通,通过查阅多方资料,最终搭建出一个可运行的Superset环境。

安装Miniconda

在linux中输入以下命令,开始安装Miniconda

bash Miniconda3-latest-Linux-x86_64.sh

随后会有让你选择安装位置,自己输入路径就好

接着  设置不自动开启 conda,不设置的话,开启虚拟机就自动进到conda环境里了

conda config --set auto_activate_base false

在conda里面,输入一下命令创建Python3.6环境

conda create -n superset python=3.6

切换到 Python3.6的 环境

conda activate superset

配置下载源

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

至此,配置superset的虚拟环境就完成一半了

在Python3.6环境里安装Superset

下载依赖

此时的命令都要在Python3.6环境(上一步创建的那个)里运行

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

更新setuptools pip包

pip install --upgrade setuptools pip -i https://repo.huaweicloud.com/repository/pypi/simple

安装 Supetset

这里指定Superset的版本为0.38.1

pip install apache-superset==0.38.1 -i https://repo.huaweicloud.com/repository/pypi/simple

 下载成功时,会有显示

初始化 Supetset 数据库

初始化superset数据库时,因为在前面指定了Python和Superset的版本。有些包会不存在,会报以下错误,要先下载相关的包才行

执行下面几条命令,补全缺失的包

pip install sqlalchemy==1.3.24 -i https://repo.huaweicloud.com/repository/pypi/simple

pip install dataclasses -i https://repo.huaweicloud.com/repository/pypi/simple

pip install --upgrade cryptography==3.2 -i https://repo.huaweicloud.com/repository/pypi/simple

补全缺失的包后,再开始进行数据库的初始化

superset db upgrade

正常初始化成功后,没有报错信息

创建Superset管理员用户

在python3.6环境中,输入以下命令

export FLASK_APP=superset
superset fab create-admin

在Username [admin] 输入 admin

按三下回车直接到密码设置,中间的哪些信息可以不写

在Password 输入 123456

然后回车即可

此时Superset的就创建出一个管理员账户了

账户admin,密码123456

创建用户失败时

别人的方法,可用。删除完superset.db文件后,再重新前面初始化Superst数据库步骤

Superset 初始化

在命令行执行命令

superset init

superset 启停脚本

安装gunicorn

gunicorn用于启动和关闭Superset

pip install gunicorn -i pip install gunicorn -i https://pypi.douban.com/simple

Superset启停脚本

配置到/usr/bin下,然后使用chmod u+x 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
  conda activate superset; gunicorn --workers 5 --timeout 120 --bind 0.0.0.0:8787 --daemon "superset.app:create_app()" 
 else
  echo "superset is running."
 fi
}

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


case $1 in
 start )
  echo "start superset..."
  superset_start
 ;;
 stop )
  echo "stop superset..."
  superset_stop
 ;;
 restart )
  echo "restart superset..."
  superset_stop
  superset_start
 ;;
 status )
  superset_status >/dev/null 2>&1
  if [[ $? -eq 0 ]]; then
   echo "superset is not run."
  else
   echo "superset is running."
  fi
esac

Superset 连接Mysql数据库

下载依赖

这里只补充对接 MySQL 数据源时的依赖问题,我的虚拟机的Mysql版本为8.0

使用pymsql连接,在Python3.6那个环境里执行,然后重启Superset应用(用脚本)

pip install PyMySQL

连接Mysql数据源

在连接时SQLAlchemy URI那里的格式为

mysql+pymysql://用户名:密码@主机名:端口号/数据库名称

这里的用户名和密码是你登陆Mysql的用户名和密码

mysql+pymysql://root:123456@slave2:3306/gmall_report?charset=utf8

点击测试连接,连接成功

后续就可用Sperset对数据进行展示了,参考尚硅谷Superset教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值