使用docker運行輕量級BI工具superset


網上大多superset 安裝都是基於 superset 0.28.0 ,目前docker 最新鏡像是 0.36.0 因此執行 創建用戶第一步 就走不下去

superset 0.36.0 安裝步驟

# 1.安裝 superset
pip install apache-superset
# 2.初始化數據庫
superset db upgrade
# 3.創建用戶並按提示設置密碼
superset fab create-admin
# 4.加載官方例子
superset load_examples
# 5.初始化角色和權限
superset init
# 6.在本機8088端口運行superset
superset run -p 8088 --host 0.0.0.0


----------------------------------------------------------------------------------------

superset run 外網不能訪問 添加 --host 0.0.0.0
superset run --host 0.0.0.0
----------------------------------------------------------------------------------------

 

 

 

 

Superset 是一款由 Airbnb 開源的“現代化的企業級 BI(商業智能) Web 應用程序”,其通過創建和分享 dashboard,為數據分析提供了輕量級的數據查詢和可視化方案。

最方便的搭建方法就是使用docker運行:

系統環境准備:

apt-get upgrade && apt-get update

安裝docker

> apt install docker.io
> systemctl start docker
> systemctl enable docker

獲取鏡像

> docker search superset
> docker pull amancevice/superset

啟動superset鏡像

> docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
amancevice/superset   latest              26506f00f388        5 weeks ago         1.4GB
# 創建掛載目錄
> mkdir /data/superset -p

# 啟動
> docker run -d -p 8088:8088 --name superset -v /data/superset:/home/superset amancevice/superset:latest
18c22f0fc458b6b727f6b2705b69c5226c8471714f97740fe462daf3444be666

# 查看啟動的容器
> docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                    PORTS                    NAMES
18c22f0fc458        amancevice/superset:latest   "gunicorn superset:a…"   4 seconds ago       Up 3 seconds (health: starting)   0.0.0.0:8088->8088/tcp   jovial_nash

對superset進行初始化設置

# 創建用戶名和密碼
> docker exec -it -u root 18c22f0fc458 fabmanager create-admin --app superset

# 初始化數據庫
> docker exec -it 18c22f0fc458 superset db upgrade

# 導入示例數據
> docker exec -it 18c22f0fc458 superset load_examples

# 創建默認角色和權限
> docker exec -it 18c22f0fc458 superset init

# 啟動服務
> docker exec -it 18c22f0fc458 superset runserver

配置Oracle依賴並連接Oracle數據庫

數據庫依賴軟件安裝文檔:
http://superset.apache.org/installation.html#database-dependencies

這里是在docker容器中安裝依賴,Oracle客戶端下載列表:
https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

# 把下載的Oracle客戶端包放在掛載目錄:
> cp instantclient-basic-linux.x64-11.2.0.4.0.zip /data/superset

# 進入容器:
> docker exec -it -u root 83a1cb4cf984 bash

# 在容器內部安裝Oracle客戶端和cx_Oracle依賴包
root@83a1cb4cf984> apt-get -y upgrade && apt-get -y update
root@83a1cb4cf984> apt-get install -y libaio1
root@83a1cb4cf984> pip3 install cx_Oracle

root@83a1cb4cf984> mkdir /opt/oracle
root@83a1cb4cf984> unzip instantclient-basic-linux.x64-11.2.0.4.0.zip -d /opt/oracle/
root@83a1cb4cf984> cd /opt/oracle/instantclient_11_2/
root@83a1cb4cf984> ln -s libclntsh.so.11.1 libclntsh.so
root@83a1cb4cf984> ln -s libocci.so.11.1 libocci.so
root@83a1cb4cf984> echo /opt/oracle/instantclient_11_2 > /etc/ld.so.conf.d/oracle-instantclient.conf
root@83a1cb4cf984> ldconfig

# 創建 tnsnames.ora 文件,配置Oracle連接信息:
root@83a1cb4cf984> mkdir -p /opt/oracle/instantclient_11_2/network/admin
root@83a1cb4cf984> echo 'DB-NAME = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.66 )(PORT = 1521)) ) (CONNECT_DATA=(SERVICE_NAME=orcl)))' > /opt/oracle/instantclient_11_2/network/admin/tnsnames.ora
root@83a1cb4cf984> exit

以上步驟其實可以用dockerfile批量完成。

在瀏覽器打來 http://ip:8088,訪問superset配置:

superset

數據庫連接詳細配置見:
https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls

superset

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM