其他笔记 - 如何利用superset部署一个可视化的数据平台 [ docker配置与测试记录 ]

superset配置与测试记录

  • 1 安装
    • 1.1 系统环境与前言
    • 1.2 docker部署superset
    • 1.3 superset中文化(可跳过)
  • 2 参考

1 安装

1.1 系统环境与前言

cat /etc/issue
Ubuntu 18.04.5 LTS \n \l

superset是一个开源数据可视化工具。

由Airbnb贡献的轻量级BI产品,目前在GitHub上有3万多颗星,其受欢迎程度可见一斑。Superset提供了Dashboard和多维分析两大类功能,后者可以将制作的结果发布到Dashboard上也可以单独使用。

数据源方面,Superset支持CSV、MySQL、Oracle、Redshift、Drill、Hive、Impala、Elasticsearch等27种数据源,并深度支持Druid。

InfluxDB 是一个开源分布式时序、事件和指标数据库。
我打算利用这个来部署一个边缘端的数据平台,搜集机器人和控制器数据并做可视化。

1.2 docker部署superset

docker search superset
NAME                                  DESCRIPTION
amancevice/superset                   Superset on Debian+Python3
apache/superset                       Apache Superset
preset/superset                       Apache Superset (incubating) is a modern,
tylerfowler/superset                  An extendable Docker image for Apache's Su
maedamikio/superset
huksley/superset                      AirBnB Superset 0.28 with MySQL driver
dailyhotel/superset                   Dockerized Superset
ganshanshan/superset_tddv             tddv superset
tyyzqmf/superset                      根据amancevice/superset修改的镜像 主要解决
yagami15145/superset-nginx
starburstdata/superset                Apache Superset docker container

选择拉取第一个,没写tag的话默认拉取latest版本

docker pull amancevice/superset

查看已下载的所有镜像。

docker image ls

运行。

docker run -d -p 8088:8088 -p 8086:8086 -v ~/home/DATAPLATFORM/data amancevice/superset

-p后面是端口映射,8088给superset,8086给influxdb, 也可以用3000-4000这种表示方法同时映射多个连续的ip。
-v 是挂载本地目录

docker ps 可用于查看容器,docker rename 新名 旧名可用于重命名容器。成功运行后可使用docker execattach进入,最好使用exec

docker exec -it <容器名> /bin/bash

进入容器以后设置用户名:

之前用命令fabmanager create-admin --app superset
安装时会报错 'NoneType' object has no attribute 'auth_type',且有警告提示说fabmanager即将被抛弃。

所以使用以下命令创建用户:

superset fab create-admin

其他笔记 - 如何利用superset部署一个可视化的数据平台 [ docker配置与测试记录 ]_第1张图片
更新和初始化:

# 更新
superset db upgrade 

# 初始化
superset init

# 启动服务器,不写-p默认5000
superset run -h 0.0.0.0 -p <端口号>

# 载入案例
superset load-test-users
superset load-examples

注意:
看到一些案例写的superset runserver,最新版没有runserver命令.
同时必须映射host到0.0.0.0,-h默认为127.0.0.1但外网无法访问。

1.3 superset中文化(可跳过)

在目录/usr/local/lib/python3.8/site-packages/superset下找到config.py的文件,进行编辑。位置在Setup default language。编辑时记得备份原文件。
编辑命令:

cd /usr/local/lib/python3.8/site-packages/superset
cp config.py backup_config.py
vim config.py

内容如图:
更改前:
其他笔记 - 如何利用superset部署一个可视化的数据平台 [ docker配置与测试记录 ]_第2张图片
更改后:
其他笔记 - 如何利用superset部署一个可视化的数据平台 [ docker配置与测试记录 ]_第3张图片
运行时报错:

cannot import name ‘Any’ from partially initialized module ‘typing’
(most likely due to a circular import)

看了一下是我不能再当前目录下运行superset,和其他python模块冲突。换一个路径运行就行了。
其他笔记 - 如何利用superset部署一个可视化的数据平台 [ docker配置与测试记录 ]_第4张图片

在实际部署的时候可以使用gunicorn或者supervisor,该docker使用gunicorn进行服务进程管理.

//TODO
后续添加如何写influxdb的接入殷勤。

2 参考

  1. Superset学习实践(一)–基于Docker的安装配置
  2. superset搭建使用

你可能感兴趣的:(其他,linux,可视化,数据库,superset,docker,python)