上文提到了Superset 0.37的在线安装方式,只需要更新pip,然后pip install就可以了。但是在生产环境中,特别是内网环境中,很多时候是没有外网的,这时候就需要采取离线安装的方式。
本文将详细介绍在Linux系统中离线安装Superset的全过程,并整理了安装过程中遇到的错误。
下载相关安装包
注:本文所有安装包均可以关注 “实时流式计算” 回复 “superset0916” 获取
下载好安装包以后,可以跳过本教程的所有下载步骤。
下载Superset,不要走错路,是apache-superset
https://pypi.org/project/apache-superset/#files
源码包下载位置
https://downloads.apache.org/incubator/superset/0.37.0/
在源码下有一个 requirements.txt
可以通过其下载所需依赖包
安装 Anaconda3
在安装superset之前,我们还需要一个python环境,当然也得离线安装,这里推荐使用Ananconda
- Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。
https://www.anaconda.com/products/individual#macos
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)”。
成功~
离线下载Superset安装包
superset依赖的包很多,在没有外网的情况下需要一起下载下来,然后拷贝过去安装。
下载所需依赖包
pip download -r requirements.txt -d <目录>
等待下载成功~
如果慢可以换一下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用户密码登录就可以了
体验一下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等实时大数据分析相关技术博文,科技资讯,欢迎关注实时流式计算 公众号后台回复 “电子书” 下载300页Flink实战电子书