superset功能概述:

  • 丰富的数据可视化集

  • 易于使用的界面,用于探索和可视化数据

  • 创建和共享仪表板

  • 与主要身份验证提供程序集成的企业级身份验证(通过Flask AppBuilder进行数据库,OpenID,LDAP,OAuth和REMOTE_USER)

  • 可扩展的高粒度安全/权限模型,允许谁可以访问各个功能和数据集的复杂规则

  • 一个简单的语义层,允许用户通过定义哪些字段应显示在哪个下拉列表以及哪些聚合和功能度量标准可供用户使用来控制数据源在UI中的显示方式

  • 通过SQLAlchemy与大多数讲SQL的RDBMS集成

  • 与Druid.io深度整合

部署:

官网:http://superset.apache.org/installation.html

一. 准备python3环境

#安装基础依赖

yum -y groupinstall "Development tools"

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

#superset用到的依赖

yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

#速度慢,直接去官网下载相应版本

mkdir -p /usr/local/python3

然后解压压缩包,进入该目录,安装Python3

tar -xvf  Python-3.6.2.tar.xz

cd Python-3.6.2

./configure --prefix=/usr/local/python3

make && make install

创建软链接:

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

在命令行中输入python3测试:

[root@oldboy .superset]# python3 --version
Python 3.6.2

二 创建python3的虚拟环境

pip3 install virtualenv

mkdir /data

python3 -m venv venv

#创建成功会在/data目录下生成虚拟目录:

[root@oldboy .superset]# cd /data
[root@oldboy data]# ls
venv

#激活
. venv/bin/activate

#退出用

deactivate

三在虚拟环境中安装superset

(venv) [root@oldboy data]# pip3 install --upgrade setuptools pip

pip3 install superset

# Initialize the database
superset db upgrade

# Create an admin user (you will be prompted to set a username, first and last name before setting a password)
export FLASK_APP=superset
flask fab create-admin

# Load some data to play with
superset load_examples

# Create default roles and permissions
superset init

#启动,默认端口是8088

superset runserver -d

nohup superset runserver -d >> /dev/null 2>&1 &

单线程会有闪退的现象,用:

.  /data/venv/bin/activate

gunicorn -w 10  --timeout 120 -b  0.0.0.0:6666 --limit-request-line 0 --limit-request-field_size 0 --statsd-host localhost:8125 superset:app

或者同事的启动方法:

/data/venv/bin/python3 /data/venv/bin/gunicorn -w 10 --timeout 120 -b 0.0.0.0:6666 --limit-request-line 0 --limit-request-field_size 0 --statsd-host localhost:8125 superset:app > /dev/null 2>&1 &

#查看

netstat -lntup |grep 6666

#停止

pkill gunicorn

#默认数据库是sqlite,在配置文件里可以改为mysql等

/data/venv/lib/python3.6/site-packages/superset/config.py

连接mysql需要安装:

yum install mysql-devel
pip3 install mysqlclient

连接impala需要安装:

pip3 install impyla  需要重启服务

注意:

在安装中初始化数据库时会报错,这是superset的bug: 可以去https://github.com/apache/incubator-superset/issues看

1/ cannot import name '_maybe_box_datetimelike'

解决方法:
pip3 uninstall pandas
pip list | grep pandas
pip3 install pandas==0.23.4

2/ "Can't determine which FROM clause to join "
sqlalchemy.exc.InvalidRequestError: Can't determine which FROM clause to join from, there are multiple FROMS which can join to this entity. Try adding an explicit ON clause to help resolve the ambiguity.

解决方法:
pip3 install sqlalchemy==1.2.18

一点经验:

迁移的时候,如果有错,2个小时排不出来,赶紧重装.

重装如果不对,一定是版本不对. python版本和superset版本

pip3 freeze | grep superset  #看superset版本

注意安装的时候用pip3, 因为做了软连接

#sqlite数据库备份脚本

#! /bin/sh
date=$(date +%Y_%m_%d)
cp -f /root/.superset/superset.db /fengfeng/backup/
mv /fengfeng/backup/superset.db /fengfeng/backup/superset${date}.db
scp /fengfeng/backup/superset${date}.db 10.52.80.112:/fengfeng/backup
sleep 5
rm -f /fengfeng/backup/superset${date}.db
~

00 00 * * * /bin/sh /fengfeng/script/superset_backup.sh >/dev/null 2>&1

#在备份服务器上做个定时删除:

00 01 * * * /bin/sh /fengfeng/script/del_superset_db.sh >/dev/null 2>&1

find /fengfeng/backup -mtime +2 -name "superset*.db" -exec -Rf {} \;

nginx:

upstream opossuperset_backend{
server 10.52.2.243:6666;
keepalive 1000;
}

server{

location / {
proxy_pass http://opossuperset_backend;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $http_x_real_ip;
}
}

superset部署的更多相关文章

  1. superset docker 部署

    公众号原文有更多效果图哦 一.使用自己的数据库 1. 拉取项目 // 创建目录用于存放项目 mkdir -p /mnt/superset cd /mnt/superset git clone http ...

  2. Superset安装部署操作

    目录 1.安装Miniconda 1.下载Miniconda 2.安装 3.开启一个新的shell窗口 4.设置新窗口不自动开启conda 2.创建Python3.7环境 1.配置国内镜像 2.常用命 ...

  3. 数据可视化的开源方案: Superset vs Redash vs Metabase (二)

    在上篇结尾处我提到“如果现在让我重新选择,我会使用哪个可视化工具?”我的答案是 Redash,原因主要不是功能层面,而是技术层面.本篇就从项目关注度与活跃度,项目的技术架构,源代码的规模与质量,这三个 ...

  4. Presto + Superset 数据仓库及BI

    基于Presto和superset搭建数据分析平台. Presto可以作为数据仓库,能够连接多种数据库和NoSql,同时查询性能很高: Superset提供了Presto连接,方便数据可视化和dash ...

  5. 官方教程:Apache Kylin和Superset集成,使用开源组件,完美打造OLAP系统

    本文转自Apache Kylin公众号apachekylin. Superset 是一个数据探索和可视化平台,设计用来提供直观的,可视化的,交互式的分析体验. Superset 提供了两种分析数据源的 ...

  6. 大数据之superset

    1.概述 superset大数据可视化的利器,深度集成durid,结合kylin.presto完成强大的大数据可视化功能,曾用名Panoramix.caravel.相比caravel它有个比较抢眼的功 ...

  7. Redash(开源轻量级商业智能) 生产环境部署及实践 (without docker)

    一直在调研一个轻量级开源的 BI 系统.之前我们生产环境使用的 aliyun 的 QuickBi,也调研了另外一个 airflow 的开源商业智能 superset.不得不承认 QuickBI 正在日 ...

  8. superset使用

    部署完成后,就可以登陆superset的web页面: http://192.168.56.105:8088  #默认是8080,在配置文件中可以修改 点database可以选择连接不同的数据源,如My ...

  9. airflow部署

    官网: http://airflow.apache.org/installation.html 原理: https://www.cnblogs.com/cord/p/9450910.html 安装: ...

随机推荐

  1. java上传文件夹

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用.此控件PC全平台支持包括mac,linux系统的文件上传,文章末尾将附上控件下载与教程链接 ...

  2. Spring事务管理的一些注意点

    在<Spring Boot事务管理(下)>中,已经介绍了如果在 protected.private 或者默认可见性的方法上使用@Transactional,事务将是摆设,也不会抛出任何异常 ...

  3. Java高并发下的 “单例模式”

    前言:单例模式大家应该很熟悉了,我在这里就自己总结一下自己这段时间学到的单例相关的知识. 单例模式的目的:保证一个类只有单一的实例,也就是说你无法通过new来创建这个类的一个新实例. 单例模式的意义: ...

  4. JAVA基础知识|抽象类与接口类

    一.抽象类 抽象类:拥有抽象方法的类就是抽象类,抽象类要使用abstract声明 抽象方法:没有方法体的方法,必须要使用abstract修饰 为什么要使用抽象类,抽象方法? 举例来说,如果你定义了一个 ...

  5. Java锁优化

    Java锁优化 应用程序在并发环境下会产生很多问题,通常情况下,我们可以通过加锁来解决多线程对临界资源的访问问题.但是加锁往往会成为系统的瓶颈,因为加锁和释放锁会涉及到与操作系统的交互,会有很大的性能 ...

  6. Maven版本问题导致的 unable to import maven project, see logs for details. 问题

    新电脑安装了基础环境后,jdk,maven也都安装好了,idea安装后,导入Java项目一切正常,但是idea中code一直导入import依赖包出现问题,错误提示:unable to import ...

  7. 在testrpc以太坊测试环境部署智能合约

    2018年03月13日 09:20:54 思无邪-machengyu 阅读数 2683   版权声明:本文为博主原创文章,转载请务必注明出处,否则追究法律责任 https://blog.csdn.ne ...

  8. 如何获取linux内核的某个子系统的维护者邮箱?

    答: 如获取pwm子系统的维护者邮箱: ./scripts/get_maintainer.pl drivers/pwm

  9. Android中利用jsoup解析html页面

    学习jsoup :jsoup学习网站 Android 中使用: 添加依赖 implementation 'org.jsoup:jsoup:1.10.1' 直接上代码: package com.load ...

  10. kotlin之lambda表达式和匿名函数

    lambda表达式,称为匿名函数,是一种函数字面值,也就是没有声明的函数,但可以作为表达式传递出去. 函数类型: 对于接受另一个函数的作为自己的参数,必须针对这个参数指定一个函数的类型如 fun &l ...