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

最新文章

  1. Mac Pro 8G 安装MyEclipse提示虚拟内存为0 安装失败
  2. 创建Hello World程序(part-1)
  3. javascript 异步模块加载 简易实现
  4. 开发板上使用core文件调试
  5. 公网访问COSBench controller页面实现方法
  6. Arcengine实现创建网络数据集札记(三)
  7. snowflake
  8. ie各个版本hack
  9. 查看Java包源码
  10. centos主机建立ssh互信
  11. 在 window7 window8下公布webService注意问题
  12. shell 爬取图片下载到本地
  13. vue命令行错误处理
  14. Java programming problems
  15. SFTP上传下载文件、文件夹常用操作
  16. 给openvpn客户分配固定ip地址
  17. AI人工智能专业词汇集
  18. Postgresql HStore 插件试用小结
  19. msys git 安装配置、git命令行使用
  20. element ui下拉框如何实现默认选择?

热门文章

  1. Java+自动扫描文件夹+发送+上传
  2. vue中修改第三方组件的样式不生效
  3. LibreOJ #114. k 大异或和
  4. DEVICE_ATTR设置设备属性
  5. 在windows10 Linux (centos7)中安装go golang (够浪) 并测试运行
  6. Apache Flink - 命令
  7. 【Robot Framework 项目实战 04】基于录制,生成RF关键字及 自动化用例
  8. Maven:禁止编码指定类型的资源文件
  9. 阿里RDS数据库 全量备份恢复到本地MYSQL
  10. 自定义msi安装包的执行过程