背景说明


公司数据分析人员需要将日常监控分析数据进行可视化,在踩了一些坑之后,终于在业务环境中搭建成功superset,后续复现两次流程也是成功的,分享一波。。。

业务环境说明


  • 操作系统:centos 7
  • python 3.6

安装步骤简介和重点


  1. 安装python3以上 (网上教程一堆,请自行搜索,后面自己也计划汇总一版流程),以下安装过程出现的均是python3
  2. 安装容器和密码验证工具,建议直接按照以下指令顺序执行就好
    # yum upgrade python-setuptools
# yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
# pip3 install cryptography
# pip3 install virtualenv
  1. 新建一个容器空间进行操作,(网上一堆的教程都是将superset安装在容器之中,可能是为了环境隔离吧,因为中间需要使用的第三方依赖库还是很多的,避免影响了原始业务系统环境吧)
    # python3 -m venv venv  -- 新建一个名为venv的容器空间,同时也会新建在当前目录下新建一个venv的文件夹,请提前切换好工作文件夹
    # . venv/bin/activate -- 进入venv的容器环境
    # pip3 install superset -- 容器环境下安装superset

    ---以下是重点,最多坑的地方,因为superset的运行依赖很多第三方库代码,所以安装python的依赖包并保证完整性很费事,有人整理了一个文档将这些依赖包进行汇总,下载此文档后,在本地按照文件安装依赖包就好,我将依赖包的汇总文档整理到了github,方便后续下载

    # wget https://github.com/Warding/InternetRecords/blob/master/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/superset_requirements.txt
    # pip3 install -r superset_requirements.txt -- 安装依赖包
    # superset db upgrade -- 初始化db环境
    # export FLASK_APP=superset --账户设定
    # flask fab create-admin --创建账户按提示输入账密就好
    # superset load_examples --下载样例数据,可不执行
    # superset init --superset环境初始化
    # superset run -p 8088 -h 192.168.2.1 --with-threads -- superset 启动(这里面我指定了端口和IP,分别是-p 和 -h 参数,建议指定成自己的服务器IP和某个端口,网页访问的时候,**还需要将这个端口对外开放,不然你本地登录网页访问会无法成功**)
  2. 使用 输入上面的IP和端口对应的网址就行 http://192.168.2.1:8088/, 登录后输入刚刚建立的账密就好

tips


  • 出现superset 使用问题,比如缺失什么Python的第三方依赖库,请一定要在容器空间内安装所需的依赖包,例如需要连接mysql,你需要进入venv容器下进行安装pip3 install pymysql,然后需要重启superset

  • 退出容器命令 deactivate

  • 为避免出现关闭shell窗口导致superset无故退出,建议在容器下nohup 启动superset,

    # nohup superset run -p 8088 -h 192.168.2.1 --with-threads &

总结


1:superset是第一次接触的在linux环境下使用虚拟容器的工具,说实话操作有点别扭,不论启动还是配置什么的,都需要切入对应容器空间进行操作,还需要注意配置的是不是容器的环境,有时候会将linux全局环境的操作误以为在容器环境也会生效,这点需要格外注意和检查。

2:资源包的整理需要及时,类似于上文中提到的python依赖包整理文档,第一次安装的当天依赖包还是有效的,等到第二天再去测试的时候,发现原网址链接下的依赖包已经变化,无法正常安装,赶紧从第一次成功的环境将依赖包文档本地保存一份并收藏,不然后面又要大折腾。所以日常应该注意,网络上收藏的网址资源并不是完全靠谱的,觉得很重要的,最好自己归档整理一次,不然后续麻烦的还是自己。

linux 安装superset的更多相关文章

  1. 离线安装Superset 0.37

    上文提到了Superset 0.37的在线安装方式,只需要更新pip,然后pip install就可以了.但是在生产环境中,特别是内网环境中,很多时候是没有外网的,这时候就需要采取离线安装的方式. 本 ...

  2. 搜狗输入法linux安装 以及 12个依赖包下载链接分享

    搜狗输入法linux安装版,先安装各种依赖包,大概12个依赖,可能中途还需要其他依赖,可以效仿解决依赖问题.如图这12个文件要是手动点击下载,那也太笨点了,我们要用shell命令批量下载.命令如下:w ...

  3. linux安装php

    接上篇:linux安装apache 一.安装php 先安装libxml2库 [root@ctxsdhy package]# yum -y install libxml2-devel 最新地址在:htt ...

  4. linux安装oracle11g

    准备oracle安装文件 Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SS ...

  5. TODO:Linux安装PHP MongoDB驱动

    TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...

  6. Symantec Backup Exec 2010 Agent For Linux安装

    以前写过一篇文章介绍过Symantec Backup Exec 2012 Agent For Linux安装安装,今天介绍一下Symantec Backup Exec 2010 Agent For L ...

  7. Symantec Backup Exec 2012 Agent For Linux安装

    Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...

  8. linux 安装jdk

    1.Linux安装JDK步骤1. 先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,推荐SUN的官方网站www.sun.com,下载后放在/home目录中,当然其它地方也 ...

  9. Hadoop Linux安装

    Hadoop Linux安装 步骤流程 1.硬件准备 2.软件准备(推荐CDH) 3.将Hadoop安装包分发到各个节点下 4.安装JDK 5.修改/etc/hosts配置文件 6.设置SSH免密码登 ...

随机推荐

  1. skfpdb.db、cc3268.dll、system_V2.dat、JI60JS.dat文件内容、发票数据查询

    cc3268.dll.skfpdb.db.xxxxx_V2.dat,system.dat,JI60JS.dat,log.dat,system_V2.dat,JI60JS_V2.dat,log_V2.d ...

  2. Android学习笔记基于监听的事件处理

    事件处理流程 代码格式: Button btn1 = findViewById(R.id.btn1); btn1.setOnClickListener(new View.OnClickListener ...

  3. jmeter关联的五种方式

    [脚本准备] 这里,我们用dummy取样器来模拟服务器的返回,通过关联获取name的值,然后接口取这个name的值,这就我们就简单模拟了请求间的依赖关系 在取样器中添加dummy取样器 搜索的关键字是 ...

  4. 登录CentOS用户很慢/usr/bin/xauth: timeout in locking authority file /home/***/.Xauthority

    当使用非root用户登录CentOS时,发现很慢,而且弹出以下信息: /usr/bin/xauth:  timeout in locking authority file /home/***/.Xau ...

  5. Jmeter之仿真高并发测试-集合点

    场景: 大家在使用Jmeter测试的时候应该发现了, (1)线程启动了就会直接发送测试请求:--如果要模拟在一瞬间高并发量测试的时候,需要调高线程数量,这很耗测试机器的性能,往往无法支持较大的并发数, ...

  6. 【面试篇】寒冬求职之你必须要懂的Web安全

    https://segmentfault.com/a/1190000019158228 随着互联网的发展,各种Web应用变得越来越复杂,满足了用户的各种需求的同时,各种网络安全问题也接踵而至.作为前端 ...

  7. 30_栈的定义.swf

    上面的局部变量 i int*p中的p指针变量,是在栈中分配的,malloc申请的内存是在堆中分配的,动态申请的都在堆中分配的. 栈是一种数据存储的结果,先进后出的数据结构.

  8. day18__文件操作

    一.3 种模式 r: 只读模式,        r+: 读写模式,覆盖开头内容 w: 写模式,全覆盖 (如果是没有的文件则重新创建空文件) a+:  读写模式,从最开头写,覆盖开头内容 (如果是没有的 ...

  9. js基础练习题(1)

    1.字符串 视频教程地址: js基础练习题 1.如何连接两个或者两个以上字符串? var cssname = 'box' var num = 1 var html = '<div class=& ...

  10. Unity ugui Anchor锚点自动适配画布中的相对位置

    本随笔参考了以下博客,在此基础上进行优化和改进: https://blog.csdn.net/qq_39640124/article/details/88284191 ugui中的Anchor预设如下 ...