公司招了个BI人员,需要使用Superset工具,于是查找资料进行安装并记录了下来。
简介
Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。
Superset 的前端主要用到了 React 和 NVD3/D3,而后端则基于 Python 的 Flask 框架和 Pandas、SQLAlchemy 等依赖库。
安装
基础依赖
系统包:
yum install -y gcc gcc-c++ make automake libffi-devel cyrus-sasl-devel openldap-devel sqlite-devel xz-devel
编译安装zlib:
tar Jxf zlib-1.2.11.tar.xz -C /usr/local/src/ cd /usr/local/src/zlib-1.2.11/ CFLAGS="-fPIC -O3" ./configure --shared --64 make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install chcon -R -u system_u -t lib_t /usr/local/lib/libz.so* semanage fcontext -a -t bin_t '/usr/local/bin(/.*)?' semanage fcontext -a -t lib_t '/usr/local/lib(/.*)?' semanage fcontext -a -t etc_t '/usr/local/etc(/.*)?' semanage fcontext -a -t man_t '/usr/local/man(/.*)?' restorecon -Rv /usr/local/ echo '# User Defined.' > /etc/ld.so.conf.d/complie.conf echo '/usr/local/lib' >> /etc/ld.so.conf.d/complie.conf cd -
编译安装Openssl:
tar zxf openssl-1.1.1l.tar.gz -C /usr/local/src/ cd /usr/local/src/openssl-1.1.1l/ yum install -y perl-Pod-Html CFLAGS="-fPIC -O3" ./config --prefix=/usr/local/openssl shared threads zlib enable-md2 --release -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)' make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install echo 'export PATH=/usr/local/openssl/bin:$PATH' > /etc/profile.d/openssl.sh ldconfig source /etc/profile.d/openssl.sh openssl version cd -
安装bzip2:
tar zxf bzip2-1.0.8.tar.gz -C /usr/local/src/ cd /usr/local/src/bzip2-1.0.8/ sed -i 's/CC=gcc/CC=gcc\ -fPIC\ -O3/g' Makefile make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install cd -
Tips: 也可以使用yum安装:
yum install -y openssl-devel bzip2-devel
编译安装Python
Tcl (TK需要libX11-devel,可不装):
tar zxf tcl8.6.11-src.tar.gz -C /usr/local/src/ cd /usr/local/src/tcl8.6.11/unix CFLAGS="-fPIC -O3" ./configure --enable-64bit make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install cd –
Python3:
tar Jxf Python-3.9.7.tar.xz -C /usr/local/src/ cd /usr/local/src/Python-3.9.7/ CFLAGS="-fPIC -O3" LDFLAGS="-Wl,--enable-new-dtags,-rpath=/usr/local/lib:/usr/local/openssl/lib:/usr/local/python3/lib" ./configure --prefix=/usr/local/python3 --enable-shared --enable-optimizations --enable-ipv6 --with-openssl=/usr/local/openssl --with-tcltk-includes='-I /usr/local/include' --with-tcltk-libs='-I /usr/local/lib' vim Modules/Setup
SSL=/usr/local/openssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install echo 'export PATH=$PATH:/usr/local/python3/bin/' > /etc/profile.d/python.sh source /etc/profile.d/python.sh pip3 install --upgrade pip setuptools cd -
Tips:也可以使用yum安装:
yum install -y python3-devel python3-pip python3-wheel
安装Superset
安装Python虚拟环境:
pip install virtualenv
创建并进入Python虚拟环境:
mkdir -p /data && cd /data/ python3 -m venv superset . superset/bin/activate pip install --upgrade pip
在虚拟环境中安装Superset:
pip install apache-superset
初始化
初始化数据库:
pip install pillow superset db upgrade
Tips:数据库初始化后会生成在用户家目录~/.superset下:
创建管理员用户:
export FLASK_APP=superset flask fab create-admin
创建默认角色和权限:
superset init
使用Debug模式启动,监听8088端口:
superset run -h Superset -p 8088 --with-threads --reload --debugger
Tips: 使用-h指定端口监听地址;不指定默认监听 127.0.0.1。
浏览器中即可访问页面:
页码: 1 2