superset超详细安装文档+安装过程中报错解决+30s查询时间限制解决

提示: 本文是安装superset 0.28.1教程,根据360安全发布版本小于0.37.1的有安全漏洞风险,建议安装官网提示安装最新版本

系统自带的是python2.7,此次安装的python环境是python3.6,所以会用到Anaconda

因为安装了之后 用户的python版本会变成 python3.6 ,即在root用户下安装root用户的python -V 就成了3.6,建议新建用户安装或者使用不影响其他服务的用户安装

此博客参考了https://blog.csdn.net/Alongpo/article/details/89316827

1.安装anaconda (Anaconda3-4.4.0-Linux-x86_64.sh)

   下载地址   https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/      放在/home/admin/下

先执行  安装解压工具

yum -y install bzip2

   然后执行  bash  Anaconda3-4.4.0-Linux-x86_64.sh ,安装过程中输入 y ,使得环境被添加到系统 /.bashrc 中,安装过程中也会让选择安装路径,我就直接默认  /home/admin/ 目录下了,需添加另外一个环境变量 LD_LIBRARY_PATH

注意:执行这个会改变所在用户的python环境,建议新建用户安装或者在不影响其他业务情况下安装(我这边root环境是2.7的,偶然在root下安了这个,导致环境变成python3,引起其他服务异常)

a

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/admin/anaconda3/lib

 

2.在安装Anaconda目录下  创建 .condarc  文件,并添加如下镜像

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
show_channel_urls: true

3.安依赖

yum upgrade python-setuptools
yum install gcc gcc-c++ gcc-devel libffi-devel mysql-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel

4.为了将superset 安装在python3环境中,需要利用virtualenv创建虚拟环境

pip install virtualenv

virtualenv -p /home/admin/anaconda3/bin/python3 superset

virtualenv -p 解释:将会在当前的目录中创建一个名superset的文件夹(跟我们要安装的superset没关系,名字随便起),这是一个独立的python3运行环境,包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了,不过已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境来。

5. 启动虚拟环境  cd /home/admin/superset

source ./bin/activate

退出使用deactivate 

在superset环境中 查看python -V 可以看到python是3.+版本

6. 启动虚拟环境 安装superset 

pip install --upgrade pip
pip install mysqlclient  (后面连接mysql驱动)
pip install --upgrade setuptools
pip install --upgrade werkzeug==0.16.1
pip install flask-jwt-extended==3.18.1
pip install sqlalchemy==1.2.18  
pip install flask==0.12.5  (这几个为了解决初始化报错)
pip install superset==0.28.1   (新版本可能会出现其他安装报错,所以这里指定了版本)

 superset默认的元数据保存在sqlite,为了方便后面的迁移升级,建议使用mysql

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

 然后执行数据库的初始化工作

fabmanager create-admin --app superset ( 账号密码一定要记住!!!!)
superset db upgrade  (可能报错,看图,这里如果前面版本pip都执行了应该就不会报错了)

 

superset load_examples   # Load some data to play with
superset init     # Create default roles and permissions
superset runserver -p 8088    # Start the web server on port 8088
但是一旦退出后就断掉runserver了,上面的只是测试时用的,如果测试通过了,用nohup去启动runserver
nohup superset runserver -p 18081 >log.log 2>&1 & //默认的端口号是8088,这里开的是18081端口

7. sql查询超时问题解决 (默认30s)

路径 /superset/lib/python3.6/site-packages/superset 

vim  config.py 

另外貌似还需要启动superset时设置 -t  我这边的启动是

nohup superset runserver -p 8088 -t 700 >log.log 2>&1 &

8. http://ip:8088即可访问,输入第6步中创建的用户名和密码即可进入,关于superset+presto(hive)请参考

https://blog.csdn.net/Alongpo/article/details/89571606

presto集成hive请参考

https://blog.csdn.net/Alongpo/article/details/89499400

superset权限管控请参考

https://blog.csdn.net/Alongpo/article/details/89210885

这里如果想对表有查询权限,需要在 role 中添加 all datasource access on all_datasource_access

附问题解决方法:

问题1:Was unable to import superset Error: cannot import name '_maybe_box_datetimelike'

解决:pip uninstall pandas

问题2:superset 链接不上clickhouse

https://stackoverflow.com/questions/61117610/sqlalchemy-shows-code-516-authentication-failed-when-trying-to-connect-to-clic/61722790#61722790   或者  https://blog.csdn.net/m0_47467356/article/details/105844252

最新版本好像连接没问题

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值