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

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

内容如图:
更改前:
中文设置
更改后:
在这里插入图片描述
运行时报错:

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

看了一下是我不能再当前目录下运行superset,和其他python模块冲突。换一个路径运行就行了。
在这里插入图片描述

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

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

2 参考

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

canmoumou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值