一、Superser简介
Superset 是 Airbnb 开源的大数据可视化平台,其特性包括:
- 多数据源支持:Superset 支持多种数据源,包括 SQL 数据
原文链接:https://dqzboy.com 库、NoSQL 数据库、文件系统等,使用户能够从多个数据源中获取数据并进行分析和可视化。 - 数据探索和可视化:用户可以通过 Superset 探索和分析数据,创建交互式的可视化图表、仪表盘和报表,以便更好地理解数据和趋势。
- 灵活的查询构建:Superset 提供直观的查询构建工具,使用户能够轻松地构建和执行 SQL 查询,获取需要的数据。
- 多样化的可视化图表:平台内置了多种可视化图表类型,如折线图、柱状图、饼图、散点图等,满足不同数据呈现需求。
- 交互式仪表盘:用户可以创建交互式的仪表盘,将多个图表和数据展示组合在一起,以便进行综合性的数据分析和展示。
- 定制化和扩展性:Superset 具有强大的定制和扩展功能,允许用户根据特定需求调整界面、图表样式、数据连接等。
- 数据安全和权限控制:平台支持数据安全和权限控制,管理员可以定义访问和操作数据的权限,
文章来源(Source):浅时光博客 保障敏感数据的安全性。 - 开源社区支持:Superset 作为开源项目,拥有活跃的开发社区,用户可以从社区获取支持、文档和示例代码。
二、下载安装
- Superset 由 Python 构建,可使用 pip 安装 pip install superset,详细信息请参考官方文档 https://superset.incubator.apache.org
- 注意:python版本需要大于3.6
1、安装Python3.7
1.1:下载程序包
[localhost@root ~]# wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
//安装依赖包
[localhost@root ~]# yum -y install zlib zlib-devel bzip2 bzip2-devel ncurses ncurses-devel readline readline-devel openssl openssl-devel openssl-static xz lzma xz-devel sqlite sqlite-devel gdbm gdbm-devel tk tk-devel libffi libffi-devel gcc make glibc-kernheaders
1.2:创建安装目录
[localhost@root ~]# mkdir /usr/local/python3
1.3:解压程序包
//解压至当前所在目录即可
[localhost@root ~]# tar -zxvf Python-3.7.4.tgz
1.4:执行编译安装
[localhost@root ~]# cd Python-3.7.4
[localhost@root Python-3.7.4]# ./configure --prefix=/usr/local/python3 --with-ssl --enable-shared CFLAGS=-fPIC
//--with-ssl添加ssl模块
[localhost@root Python-3.7.4]# make && make install
# 安装完成没有提示错误便安装成功了
1.5:设置软链接
[root@localhost ~]# ln -sv /usr/local/python3/bin/python3.7 /usr/bin/python3
[root@localhost ~]# ln -sv /usr/local/python3/bin/pip3.7 /usr/bin/pip3
1.6:查看当前程序版本
[root@localhost ~]# python3
Python 3.7.0 (default, Jul 28 2018, 22:47:29)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world!")
hello world!
>>> exit()
[root@localhost ~]# pip --version
pip 18.1 from /usr/local/python38/lib/python3.7/site-packages/pip (python 3.7)
2、安装Superser
2.1:安装依赖
[root@localhost ~]# yum upgrade python-setuptools
[root@localhost ~]# yum install python-setuptools
[root@localhost ~]# yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
2.2:安装程序
[root@localhost ~]# pip3 install virtualenv
[root@localhost ~]# pip3 install --upgrade pip
[root@localhost ~]# python3 -m venv venv
[root@localhost ~]# . venv/bin/activate
# 想要退出virtualenv,直接输入:
(venv) [root@localhost ~]# deactivate
(venv) [root@localhost ~]# pip3 install --upgrade setuptools pip
(venv) [root@localhost ~]# pip3 install superset -i https://pypi.douban.com/simple
- 使用豆瓣源 -i https://pypi.douban.com/simple 加快下载速度
- 系统环境下安装MySQL-devel,去MySQL官网下载mysql-devel的包

[root@localhost ~]# rpm -ivh mysql-community-devel-5.7.22-1.el7.x86_64.rpm
#虚拟环境下载
(venv) [root@localhost ~]# pip3 install pymysql
(venv) [root@localhost ~]# pip3 install mysqlclient
- 创建超级管理员
(venv) [root@localhost ~]# fabmanager create-admin --app superset

- 初始化数据
(venv) [root@localhost ~]# superset db upgrade

- 加载示例数据
(venv) [root@localhost ~]# superset load_examples
- 初始化角色权限
(venv) [root@localhost ~]# superset init
- 修改配置
(venv) [root@localhost ~]# vim /root/venv/lib/python3.7/site-packages/setuptools/config.py
- 修改端口号参考如下

- 修改使用中文界面

- 如果要修改默认使用的数据库源参考如下

- 需要根据数据库下载对应的数据库驱动

- 启动
(venv) [root@localhost ~]# nohup superset run -p 8088 &
#加参数-p可指定绑定端口
2.3:Nginx反代
# 安装Nginx步骤此处忽略
[root@localhost ~]# vim /usr/local/nginx/nginx.conf
location / {
proxy_pass http://127.0.0.1:8088;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
#放通端口
[root@localhost ~]# firewall-cmd --permanent --permanent --zone=public --add-port=80/tcp
[root@localhost ~]# firewall-cmd –reload
2.4:访问页面

- 账号密码为上面执行创建超级管理员的用户和密码