irpas技术客

Apache-Superset-1.4.2安装包tar包安装(离线,但不完全离线)_内卷破坏者_superset 下载

网络投稿 8068

1.背景

最近在调研一些开源的BI工具,像superset/datart/MetaBase之类的。因为公司业务需求,想要把BI嵌入到已有的系统中去,这就需要使用开源支持。经过实际的安装使用,最终确定使用superset。 apache-superset官网 superset是一个轻量级的BI产品,支持CSV、MySQL、Oracle、Redshift、Drill、Hive、Impala、Elasticsearch等27种数据源。而且提供众多图表类型,在集成Echarts后支持近百种图表。

但是在安装中遇到很多问题,尤其是离线安装,这里将本人安装过程简单分享一下,希望对有需要的同学提供一点帮助。

2.主要参考

编译方式目前有三种: 官网提供两种#参考链接#:docker镜像、Installing from Scratch 第二种方式尝试最高只能安装0.38版本,可能是没有最新版的镜像。 离线安装:

参考链接 https://·/article/46551320802/

这里离线安装0.37版本,但是安装方式可以做参考。

注:本文章主要讲利用tar包离线或半离线安装!

3.环境

系统:CentOS Linux release 7.5.1804 (Core) python:3.7+

4.安装及部署 4.1.安装python3.8

编译安装即可(略)

4.2.安装依赖 sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel

升级安装其他包:

pip3 install --upgrade pip pip3 install --upgrade setuptools pip3 install setuptools_scm

不升级可能报错:Could NOT find Arrow (missing: Arrow_DIR) 、 No package ‘arrow‘ found

yum -y install python3-devel yum -y install libsass yum -y install libsass-devel

不安装可能报错:Running setup.py install for python-geohash ... error

4.3.下载superset安装包

下载地址:https://pypi.org/project/apache-superset/#files

mkdir /home/software tar -zxvf apache-superset-1.4.2.tar.gz -C /home/software cd /home/software 4.4.构建Python Virtual Environment

安装virtualenv用于构建环境:

pip install virtualenv

注:如果没有网络可以下载安装Anaconda用于构建虚拟环境:

下载地址:https://·/products/individual#macos

创建虚拟环境:

python3 -m venv seperset . seperset/bin/activate

创建好并启动后如下:

4.5.开始安装 4.5.1.安装依赖

进入superset解压目录:

cd /home/software/apache-superset-1.4.2

如果有网络可以直接执行安装命令,会自动下载依赖包并安装:

python setup.py install

注:如果没有网络,需要查看apache-superset-1.4.2/apache_superset.egg-info/requires.txt文件,查看需要那些依赖进行手动下载: 找一台有网络的机器,拷贝requires.txt文件,注释掉文件中[]行(不然会报错),运行以下命令下载:

pip3 download -r ./requires.txt -d 【下载目录】

下载完成将依赖拷贝回安装机器,然后安装依赖:

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

注:安装过程中可能报错 ModuleNotFoundError: No module named 'xxxx' 一般缺少对应依赖,运行:pip install xxxx安装即可 特殊情况: 1.superset async-timeout 4.0.2 is installed but requires async-timeout<4.0,>=3.0 需要降级aiohttp

pip3 install --upgrade aiohttp==3.8.1 4.5.2.初始化数据库

初始化前修改库为mysql:

创建数据库superset,添加superset用户(略)

vim /home/software/superset/lib/python3.8/site-packages/apache_superset-1.4.2-py3.8.egg/superset/config.py SQLALCHEMY_DATABASE_URI = 'mysql://superset:superset@127.0.0.1/superset'

运行初始化命令:

superset db upgrade

注:初始化过程中可能报错 1.ModuleNotFoundError: No module named '_bz2' 原因:python3.8 缺少文件_bz2.cpython-36m-x86_64-linux-gnu.so 解决方式:下载该文件,或者python3.6安装包找到该文件

cd /usr/lib/python3.8/lib-dynload/ cp /usr/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so ./ chmod 755 _bz2.cpython-36m-x86_64-linux-gnu.so mv _bz2.cpython-36m-x86_64-linux-gnu.so _bz2.cpython-38-x86_64-linux-gnu.so

还可能报错: ImportError: libbz2.so.1.0: cannot open shared object file: No such file or directory 解决方式:

yum install -y bzip2* cd /usr/lib64/ ln -s libbz2.so.1.0.6 libbz2.so.1.0

2.ModuleNotFoundError: No module named 'MySQLdb' python3.8需要安装如下:

pip install mysqlclient

3.superset ImportError: cannot import name 'soft_unicode' from 'markupsafe 或 ImportError: cannot import name 'url_encode' from 'werkzeug'' markupsafe版本过高:

pip3 install --upgrade markupsafe==2.0.1 pip3 install werkzeug==0.16.0 4.5.3.创建用户 $ export FLASK_APP=superset superset fab create-admin 4.5.4.加载用例

加载用例需要githup下载,下载慢或者报错建议修改为本地加载:

参考链接:https://blog.csdn.net/yan15625123250/article/details/121077103

修改后运行以下命令加载:

superset load_examples

注:加载过程中可能还会报错,建议多长尝试几次!

4.5.5.创建默认角色及权限 superset init 4.6.运行及启动

前台启动:不指定好 -h 会访问不到

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

后台启动:

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

退出虚拟环境:

deactivate 5.汉化

这里只说简单汉化,深度汉化没去研究。 在1.4.2中已经有汉语支持,不过不够全面,这里只需要修改以下参数: 修改config.py文件:

vim /home/software/superset/lib/python3.8/site-packages/apache_superset-1.4.2-py3.8.egg/superset/config.py BABEL_DEFAULT_LOCALE = "zh"

6.总结

好了,以上基本就安装完成,过程中如果还有其他错误欢迎交流。 关于superset的使用,如果用过其他的BI软件,这里基本也是大同小异的。这里也有点小技巧,因为导入了很多官方提供的样例,我们都是可以拿来参考的。 完结! <( ̄▽ ̄)/


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #superset #下载