1.docker的安装
教程https://www.runoob.com/docker/centos-docker-install.html
2.检查docker是否安装
[root@hdp10 ~]# docker version
Client:
Version: 18.09.6
API version: 1.39
Go version: go1.10.8
Git commit: 481bc77156
Built: Sat May 4 02:34:58 2019
OS/Arch: linux/amd64
Experimental: false
3.选择superset镜像
- 查找superset相关的镜像(docker search superset)
[root@hdp10 ~]# docker search superset
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
amancevice/superset [0.28.1] Superset on Debian+Python3 191 [OK]
tylerfowler/superset An extendable Docker image for Airbnb's Supe… 11
crobox/superset Superset + Clickhouse docker image 2 [OK]
dailyhotel/superset Dockerized Superset 2 [OK]
ganshanshan/superset_tddv tddv superset 2 [OK]
- 选择STARS最高的amancevice/superset
- 拉取镜像(docker pull amancevice/superset)
- 查看镜像是否下载完成(docker images)
[root@hdp10 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest e77c77f17b46 2 weeks ago 140MB
amancevice/superset latest 26506f00f388 3 months ago 1.4GB
hello-world latest fce289e99eb9 5 months ago 1.84kB
training/webapp latest 6fae60ef3446 4 years ago 349MB
4.安装superset容器
- 创建本地目录(让容器中的superset挂载本地机的配置文件)
- 创建superset容器(docker run -d -p 8088:8088 -v /opt/docker/superset:/home/superset amancevice/superset)
- 查看容器是否运行成功(docker ps)
[root@hdp10 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ea75e5fd3580 amancevice/superset "gunicorn superset:a…" 35 hours ago Up 35 hours (healthy) 0.0.0.0:8088->8088/tcp sharp_lichterman
068927f43f77 training/webapp "python app.py" 38 hours ago Up 38 hours 0.0.0.0:32768->5000/tcp eloquent_bardeen
5.配置superset容器
- 设置用户名和密码(docker exec -it 容器ID fabmanager create-admin –app superset)
- 初始化数据库(docker exec -it 容器ID superset db upgrade)
- superset初始化(docker exec -it 容器ID superset init)
- 开启superset服务(docker exec -it 容器ID superset runserver)
6.访问superset
- 使用浏览器打开:http://ip:8088
- 使用用户名和密码登录
7.Superset连接Oracle数据
- docker获取root权限
sudo docker exec -ti -u root ea75e5fd3580 bash
-
安装驱动cx_Oracle
- 安装Oracle客户端instantclient-basic-linux.x64-12.2.0.1.0.zip
- 配置Oracle客户端
- 建立oracle的安装目录,一般为/opt/oracle;
- 将安装包instantclient-basic-linux.x64-12.2.0.3.0.zip放入到该目录中,并进行解压:unzip XXX,生成目录:/opt/oracle/instantclient_12_2
- 在docker中安装vim等工具需要更改系统对应版本的源,如果版本错误则报错,具体搜索如何更新ubuntu系统源
[root@hdp10 ~]# docker cp sources.list ea75e5fd3580:/home
5.配置环境变量:/ect/profile文件
export ORACLE_HOME=/opt/oracle
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_IC_HOME=/opt/oracle/instantclient_12_2
export ORACLE_HOME=$ORACLE_IC_HOME
export TNS_ADMIN=$ORACLE_IC_HOME
export PATH=$PATH:$HOME/bin:$ORACLE_IC_HOME
export LD_LIBRARY_PATH=$ORACLE_IC_HOME:/usr/lib
6.将/opt/oracle/instantclient_12_2下的libclntsh.so.12.1 复制命名为libclntsh.so
7.测试URL
oracle://username:passwd@localhost:1521/database?charset=utf8