Superset 详细安装部署指南

文摘   2024-11-09 09:53   辽宁  

Superset概述

Apache Superset 是一款开源的现代化轻量级 BI 分析工具。它支持对接多种数据源,提供丰富的图表类型与直观的仪表盘功能,是企业数据可视化的理想选择。

主要特点:

  • • 开源免费:灵活定制,无需额外付费。

  • • 多数据源支持:与 Hive、Kylin、Druid 等大数据工具无缝对接。

  • • 易用性:友好的用户界面和自定义仪表盘设计。

  • 关注下方公众号,获取更多热点资讯

Superset应用场景

  1. 1. 数据仓库可视化:基于 Superset 的仪表盘,将 Hive 等数仓数据清晰地展示。

  2. 2. 业务分析报表:支持生成实时交互的分析报表,用于决策支持。

  3. 3. 数据监控平台:通过插件与报警系统集成,便于企业数据监控。

Superset安装及使用

Superset官网地址:http://superset.apache.org/

Superset文档地址:https://superset.apache.org/docs/intro

Superset安装及使用

本部分介绍 Superset 的安装步骤,从配置独立的 Python 环境到最终部署。

安装Python环境

Superset 是基于 Python3 开发的,要求 Python 版本在 3.7。如果服务器默认 Python 是 2.x,可以通过 Conda 创建独立的 Python3 环境。

安装Miniconda

下载Miniconda

访问以下链接,下载适配系统的安装包:

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

其他版本可以查看:https://repo.anaconda.com/miniconda/

安装Miniconda

执行安装脚本

sh Miniconda3-latest-Linux-x86_64.sh 

按回车继续

Welcome to Miniconda3 py39_4.11.0

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> 

空格翻阅安装条款

同意条款,输入yes

Do you accept the license terms? [yes|no]
[no] >>>       

输入安装目录

Miniconda3 will now be installed into this location:
/root/miniconda3

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

[/root/miniconda3] >>> 

运行初始化conda,输入yes

installation finished.
Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
[no] >>> 

刷新

source ~/.bashrc

创建Python3.7(Superset)环境

配置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

创建Superset环境

conda create --name superset python=3.7
或者使用--channel指定国内源
conda create --name superset python=3.8 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

激活Superset环境

conda activate superset

查看python版本

(superset) [root@r-wb-18 ~]# python
Python 3.7.11 (default, Jul 27 202114:32:16
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help""copyright""credits" or "license" for more information.
>>> 

Superset部署

**注意:**执行部署前需要进入我们刚刚创建的环境conda activate superset

安装依赖

安装Superset之前,需安装以下所需依赖

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

安装Superset

  1. 1. 安装(更新)setuptools 和 pip

    pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
  2. 2. 安装Superset

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

    说明:-i 的作用是指定镜像,这里选择国内镜像注:如果遇到网络错误导致不能下载,可尝试更换镜像

    pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
  3. 3. 初始化Superset数据库

    superset db upgrade

创建管理员用户

superset fab create-admin

**说明:**flask是一个python web框架,Superset使用的就是flask

添加创建账号信息

2022-03-18 11:22:47,189:INFO:superset.utils.screenshots:No PIL installation found
Username [admin]: jast
User first name [admin]: jast
User last name [user]: zhang
Email [admin@fab.org]: xxx@foxmail.com
Password: 
Repeat for confirmation: 
Recognized Database Authentications.
Admin User jast created.

Superset初始化

superset init

启动Superset

  1. 1. 安装gunicorn

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

    说明:gunicorn是一个Python Web Server,可以和java中的TomCat类比

  2. 2. 启动Superset

    gunicorn --workers 5 --timeout 120 --bind 192.168.60.18:18888  "superset.app:create_app()" --daemon

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

  3. 3. 登录Superset访问http://192.168.60.18:18888,使用我们刚刚创建的管理员用户登录

  4. 4. 停止Superset

    ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9

Superset 一键启停脚本

给大家提供一个一键启停脚本

#!/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 192.168.60.18:8787 --daemon 'superset.app:create_app()'
        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

欢迎关注我的公众号“编程与架构”,原创技术文章第一时间推送。



编程与架构
专注于Java、大数据、AI以及开发运维技术的深入探索与分享。作为一名开源爱好者,致力于分享实战经验和前沿技术动态,帮助更多技术人提升技能。
 最新文章