【记录】 Linux中安装superset 以及遇到的错误解决

注意: Linux是使用的Centos7

安装Python环境

Centos7有自带的Python,Python的的版本为2.7.5
Superset是由Python编写的Web应用,安装与项目开发团队对应的python版本,此处为Python3.8环境

下载安装Miniconda

conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同Python版本的软件包及其依赖,并能够在不同的Python环境之间切换,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。本次部署选择conda,是为了不影响系统本身的python环境,本次部署不需要过多工具包,所以选择MiniConda。

# 1、下载Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 2、安装Miniconda

bash Miniconda3-latest-Linux-x86_64.sh
    In order to continue the installation process, please review the license
    agreement.
    Please, press ENTER to continue	 # [是否继续] 回车
    >>> 
    Do you accept the license terms? [yes|no]
    [no] >>> 
    Please answer 'yes' or 'no':'	# [是否同意一些条款] yes
    >>> yes

    Miniconda3 will now be installed into this location:
    /home/wangting/miniconda3

      - Press ENTER to confirm the location
      - Press CTRL-C to abort the installation
      - Or specify a different location below

    [/home/wangting/miniconda3] >>> /opt/module/miniconda3	# [在此处直接输入自定义安装路径 默认家目录]

    Do you wish the installer to initialize Miniconda3
    by running conda init? [yes|no]		# 运行conda初始化 yes
    [no] >>> yes

    Thank you for installing Miniconda3!	# 出现这条提示,即为安装完成

# 3、引用脚本修改的家目录的bashrc文件,运行以下命令后,命令行最前面会出现(base)
 source ~/.bashrc
# 4、退出base环境
 conda deactivate
# 5、base环境设置
# 取消每次登陆激活base环境(每次登陆终端,采用命令行登陆环境)
# Miniconda安装完成后,每次打开终端都会激活默认的base环境,通过以下命令,禁止自动激活默认base环境。
 conda config --set auto_activate_base false
# 6、配置conda国内镜像
  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
  conda config --set show_channel_urls yes

创建python环境

conda create --name superset python=3.8
     Proceed ([y]/n)? y  # 遇到此处输入y即可安装
        To activate this environment, use
    		$ conda activate superset
       To deactivate an active environment, use
        	$ conda deactivate
        // 看到如上内容证明创建完成
        注意:如果在执行上面conda create创建时提示 WARNING: A newer version of conda exists.
              update更新一下conda即可
 		conda update -n base -c defaults conda  # 执行此命令即可

conda常用命令

# 1.查看所有conda环境
 conda info --envs
    // 显示如下        
    # conda environments:
    #
    base                  *  /opt/module/miniconda3
    superset                 /opt/module/miniconda3/envs/superset
# 2.激活登陆对应conda环境,运行以下命令后,命令行最前面出现(superset)
 conda activate superset
# 3.查看当前python版本
 python
        Python 3.8.13 |Anaconda, Inc.| (default, Jun  4 2021, 14:25:59) 
        [GCC 7.5.0] on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>>               // 在此输入exit(),即可退出当前状态
# 4.退出当前conda环境
 conda deactivate

superset部署

// 安装superset之前,先安装依赖
// 注意,此处有坑,如果系统是CentOS8的话,命令中的python后面要加数字“3”,如下
 sudo yum install -y python3-setuptools
 sudo yum install -y gcc gcc-c++ libffi-devel python3-devel python3-pip python3-wheel openssl-devel cyrus-sasl-devel openldap-devel
// 进入superset环境进行安装部署
 conda activate superset
// 安装(更新)setuptools和pip
 pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/

// 出现如下字样即安装成功
Installing collected packages: setuptools, pip
  Attempting uninstall: setuptools
    Found existing installation: setuptools 58.0.4
    Uninstalling setuptools-58.0.4:
      Successfully uninstalled setuptools-58.0.4
  Attempting uninstall: pip
    Found existing installation: pip 21.2.2
    Uninstalling pip-21.2.2:
      Successfully uninstalled pip-21.2.2
Successfully installed pip-21.3.1 setuptools-59.6.0
// 安装superset
 pip install apache-superset -i https://pypi.douban.com/simple/
// 初始化superset数据库
 superset db upgrade // 可能会报错、报错如下图

【记录】 Linux中安装superset 以及遇到的错误解决_第1张图片
解决上面错误办法:

// 这个错误好像是新版本的markupsafe代码变动问题产生的,需要退回到2.0.1
python -m pip install markupsafe==2.0.1
或
pip3 install --force-reinstall MarkupSafe==2.0.1

创建管理员账户

export FLASK_APP=superset
superset fab create-admin
		Username [admin]:     // 回车 用于登陆管理页面的管理用户
        User first name [admin]:   // 回车 用户信息
        User last name [user]:   // 回车 用户信息
        Email [admin@fab.org]:   // 回车 邮箱信息
        Password:   // 设置密码 123456 用于登陆管理页面的管理用户密码
        Repeat for confirmation:   // 再次输入密码 123456

如superset fab create-admin遇到如下报错,应该是你的Python版本有问题,建议和我这里用一样的改成3.8的
【记录】 Linux中安装superset 以及遇到的错误解决_第2张图片

// Superset初始化
superset init

启动superset

// 1、安装gunicorn
pip install gunicorn -i https://pypi.douban.com/simple/
// 2、启动Superset
// (1)确保当前conda环境为superset,及下图所示
// (2)启动
gunicorn --workers 5 --timeout 120 --bind 192.168.31.26:8787  "superset.app:create_app()" --daemon

// 说明:
 // --workers:指定进程个数
 // --timeout:worker进程超时时间,超时会自动重启
 // --bind:绑定本机地址,即为Superset访问地址
 // --daemon:后台运行

浏览器访问superset

首先确保防火墙处于关闭状态
# systemctl status firewalld   // 查看防火墙状态
# systemctl stop firewalld    // 关闭防火墙

superset访问使用,浏览器输入URL地址
// 推荐使用 IP+端口号 访问,主机名+端口号访问需要做IP解析
// 主机名+端口号需要在 C:\Windows\System32\drivers\etc\hosts 文件中做Linux主机名的ip解析

http://你的服务器IP:8787/login/

浏览器访问192.168.31.26:8787就可以访问了

【记录】 Linux中安装superset 以及遇到的错误解决_第3张图片

停止使用superset

// 停止superset服务,此操作需要停止superset运行时在使用(当于把上面对应的进程id逐个kill掉,服务自身没有提供命令行停服)
 ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9

supersest连接数据库

// 以连接MySQL为例

mysql://root:123456@你的服务器IP/gmall?charset=utf8
root:数据库账户
123456:数据库密码
你的服务器IP:数据库所在服务器IP
gmall:数据库名

你可能感兴趣的:(superset,linux,python,运维)