离线安装Superset 0.37(截图详细版)

离线安装Superset 0.37(截图详细版)
www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

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

本文将详细介绍在Linux系统中离线安装Superset的全过程,并整理了安装过程中遇到的错误。

下载相关安装包

注:本文所有安装包均可以关注 “实时流式计算” 回复 “superset0916” 获取

下载好安装包以后,可以跳过本教程的所有下载步骤。

下载Superset,不要走错路,是apache-superset

https://pypi.org/project/apache-superset/#files

www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

源码包下载位置

https://downloads.apache.org/incubator/superset/0.37.0/

在源码下有一个 requirements.txt

可以通过其下载所需依赖包

www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

安装 Anaconda3

在安装superset之前,我们还需要一个python环境,当然也得离线安装,这里推荐使用Ananconda

  • Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。

https://www.anaconda.com/products/individual#macos

www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

Anaconda 的下载文件比较大(约 500 MB),因为它附带了 Python 中最常用的数据科学包。

可以选择清华大学镜像

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

进入用户目录下,这里选择root用户

bash Anaconda3-4.4.0-Linux-x86_64.sh

安装完后增加环境变量

vim /root/.bashrc
export PATH="/root/anaconda3/bin:$PATH"

使环境变量生效

source /root/.bashrc

验证安装结果 conda list,如果Anaconda被成功安装,则会显示已经安装的包名和版本号。在终端中输入python。这条命令将会启动Python交互界面,如果Anaconda被成功安装并且可以运行,则将会在Python版本号的右边显示“Anaconda custom (64-bit)”。

www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

成功~

离线下载Superset安装包

superset依赖的包很多,在没有外网的情况下需要一起下载下来,然后拷贝过去安装。

下载所需依赖包

pip download -r requirements.txt -d <目录>

等待下载成功~

www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

如果慢可以换一下pypi镜像

指定单次安装源
pip install <包名> -i http://pypi.v2ex.com/simple
指定全局安装源

在unix和macos,配置文件为:$HOME/.pip/pip.conf 在windows上,配置文件为:%HOME%\pip\pip.ini

[global]timeout = 6000  index-url = http://pypi.douban.com/simple
国内pypi镜像
  • V2EX:pypi.v2ex.com/simple
  • 豆瓣:http://pypi.douban.com/simple
  • 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/

把下载的包拷贝到没有网的机器上

安装本地安装包

在内网机器上,开始安装依赖包

pip install <目录>/<文件名>` 或 `pip install --use-wheel --no-index --find-links=wheelhouse/ <包名>

<包名>前有空格

可简写为

pip install --no-index -f=<目录>/ <包名>

注意,由于一些原因,很有可能下载不完整安装包,这时候要耐心一点,看一看缺少什么包,依赖什么包,都安装完整。

随后解压superset

tar -xvf apache-superset-0.37.0.tar.gz

进入目录下,安装

cd apache-superset-0.37.0
python setup.py install

如果,包安装完整会提示成功,如果有Error一定要查找有什么错误,再继续往下

成功提示:

Finished processing dependencies for apache-superset==0.37.0

启动Superset

在包都完整安装以后,就可以安装superset了

进入到superset安装目录

anaconda的默认目录为

anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/

进入bin目录

1、创建管理员账号

python superset fab create-admin

2、初始化数据库

superset db upgrade

3、加载例子

没网的情况 要配置本地apache服务器加载 见下面错误 就是官网给的几个例子 可以跳过

superset load_examples

4、初始化

superset init

5、启动superset 指定端口

superset run -p 8088 --with-threads --debugger -h 0.0.0.0

6、后台启动

nohup superset run -p 8088 --with-threads --debugger -h 0.0.0.0 &

使用admin用户密码登录就可以了

www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

体验一下0.37的新功能吧!

www.zeeklog.com  - 离线安装Superset 0.37(截图详细版)

错误汇总

Error: apache-superset 0.37.0 requires XXX

基本都是包没有安装全 自行下载安装成功

注意版本问题,一定要安装指定的版本 要用 pip 安装指定版本的 Python 包,只需通过 == 操作符 指定
pip install robotframework==2.8.7

下载时也是一样

Collecting XXX WARMING: Retrying 卡住

在安装包的时候 发现依赖包没有安装

一直找不到就会卡在这

不用一直等待 ctrl C 然后下载依赖包安装

报错Error:collecting setuptools>=40.8.0

自行手动安装成功

pyarrow-0.17.1-cp37-cp37m-manylinux2014_x86_64.whl is not a supported wheel on this platform

输入

python -c
"import pip._internal
print(pip._internal.pep425tags.get_supported())"

会显示系统支持的所有pip

发现manylinux2014不支持

手动下载manylinux2010的包 安装成功

fabmanager is going to be deprecated in 2.2.x

fabmanager 将取消 新的写法是 flask fab

在创建管理员账号时报:AttributeError: 'NoneType' object has no attribute 'auth_type'

要去superset的目录下执行

由于是anaconda安装,所以superset的安装目录位于

anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/

Error: Could not import "superset.superset"

再执行 python superset fab create-admin

在anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/bin/目录下

使用此命令 python superset fab create-admin

superset load_examples:初始化实例数据,连接错误,由于github上面的实例数据无法获取

去github下载数据文件:https://github.com/apache-superset/examples-data

将该文件解压,映射到本地apache服务器

修改examples/helpers.py base_url为本地地址

启动了但是无法访问superset

注意启动命令不要 简单的使用superset run -p 8088

要用 superset run -p 8088 --with-threads --debugger -h 0.0.0.0

更多Flink,Kafka等实时大数据分析相关技术博文,科技资讯,