Linux系统Docker部署Apache Superset并实现远程访问详细流程

本文主要是介绍Linux系统Docker部署Apache Superset并实现远程访问详细流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

1. 使用Docker部署Apache Superset

1.1 第一步安装docker 、docker compose

1.2 克隆superset代码到本地并使用docker compose启动

2. 安装cpolar内网穿透,实现公网访问

3. 设置固定连接公网地址


前言

 作者简介: 懒大王敲代码,计算机专业应届生

       今天给大家聊聊Linux系统Docker部署Apache Superset并实现远程访问详细流程,希望大家能觉得实用!欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖  

个人主页:

懒大王敲代码-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_58070962?type=blog

其他专栏:

技术分享专栏icon-default.png?t=N7T8http://t.csdnimg.cn/LVrbCjava专栏icon-default.png?t=N7T8http://t.csdnimg.cn/bw2Thubantu与C语言学习专栏icon-default.png?t=N7T8http://t.csdnimg.cn/A8yIivue3项目实战专栏icon-default.png?t=N7T8http://t.csdnimg.cn/vP2no内网穿透专栏icon-default.png?t=N7T8http://t.csdnimg.cn/GJZJA懒大王闲谈专栏icon-default.png?t=N7T8http://t.csdnimg.cn/KxzqY

本文主要介绍如何在Linux系统使用Docker部署Apache Superset并结合内网穿透工具实现远程访问本地服务的详细流程。

Superset是一款现代化的企业级BI(商业智能)Web应用程序”,其通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。

Superset在数据处理和可视化方面具有强大的功能,能够满足企业级的数据分析需求,并为用户提供直观、灵活的数据探索和展示方式。

通过Superset,用户可以轻松地从海量数据中提取有价值的信息,帮助企业做出更加明智的决策。另外,团队协作进行数据分析,可以结合国内流行的内网穿透工具实现公网的实时远程访问数据。

Superset Logo

1. 使用Docker部署Apache Superset

使用Docker compose在docker中部署Apache Superset

说明:部署步骤按照superset官网说明

All About Docker & Containers - What Is It & Why Do We Need It?

1.1 第一步安装docker 、docker compose

这里选择手动下载rpm包,然后yum install *.rpm方式来安装。 下载地址:Index of linux/centos/7/x86_64/stable/Packages/

说明:请选择自己对应的系统-可参考这个网页Install Docker Engine | Docker Docs。

下载rpm包如下: containerd.io-1.6.18-3.1.el7.x86_64.rpm

docker-ce-cli-23.0.1-1.el7.x86_64.rpm

docker-scan-plugin-0.23.0-1.el7.x86_64.rpm

docker-buildx-plugin-0.10.2-1.el7.x86_64.rpm

docker -ce-rootless-extras-23.0.1-1.el7.x86_64.rpm

docker-ce-23.0.1-1.el7.x86_64.rpm

docker-compose-plugin-2.16.0-1.el7.x86_64.rpm

将这些包手动上传至centos系统,例如: 我将这些包上传至/opt/dockerpackage目录 随后执行 yum install /opt/dockerpackage/*.rpm 即可。

此时,安装docker与docker compose完成。
​
注意:你这台电脑最好有网,应该会有些依赖项需要安装。
​
这里列出这些依赖项,如果你没网,那几麻烦了,要自己去找对应版本下载。audit-libs-python            x86_64    2.8.5-4.el7                   base                                               76 kcheckpolicy                  x86_64    2.5-8.el7                     base                                              295 kcontainer-selinux            noarch    2:2.119.2-1.911c772.el7_8     extras                                             40 kfuse-overlayfs               x86_64    0.7.2-6.el7_8                 extras                                             54 kfuse3-libs                   x86_64    3.6.1-4.el7                   extras                                             82 klibcgroup                    x86_64    0.41-21.el7                   base                                               66 klibsemanage-python           x86_64    2.5-14.el7                    base                                              113 kpolicycoreutils-python       x86_64    2.5-34.el7                    base                                              457 kpython-IPy                   noarch    0.75-6.el7                    base                                               32 ksetools-libs                 x86_64    3.3.8-4.el7                   base                                              620 kslirp4netns                  x86_64    0.4.3-4.el7_8                 extras                                             81 k

这里验证docker是否安装好 启动docker: sudo systemctl start docker pull一个hello world 执行看看:sudo docker run hello-world 看到 Hello from Docker就表示可以了。

注意:这里hello-world镜像会从仓库pull,如果没网,需要自己去dockerhub下载这个镜像。

1.2 克隆superset代码到本地并使用docker compose启动

这里不用git clone命令,直接下载zip包再解压即可 浏览器打开GitHub - apache/superset: Apache Superset is a Data Visualization and Data Exploration Platform网页,Dowanload ZIP 即可。

将下载的ZIP包(superset-master.zip)上传至/opt/superset目录,需要自己创建。 使用unzip superset-master.zip 解压后得到superset-master文件夹

随后cd superset-master- 如果要修改默认的用户名密码,请先看第3步,而后再继续。 执行docker compose -f docker-compose-non-dev.yml pull 这个过程会需要几分钟

上一步完成后,执行docker compose -f docker-compose-non-dev.yml up 等到控制台输出变慢后 就完成了。

此时打开浏览器 输入:http://IP:8088/或localhost:8088登录即可。 默认用户名密码是admin

进入到Superset登录界面

324596c479f7f17ff706a94656d2745

48a53d5f42840b330bc9d9e25717dfc

2. 安装cpolar内网穿透,实现公网访问

这里我们用cpolar内网穿透工具,它支持http/https/tcp协议,不需要公网IP,不需要设置路由器,使用不限制流量。

登录cpolar官网:cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

在cpolar的下载页面中,找到对应版本的cpolar安装程序,笔者使用的是Windows操作系统,因此选择Windows版下载。

image-20231010171854756

下载完成后,将下载的文件解压,并双击其中的.msi文件,就能自动执行cpolar的安装程序,我们只要一路Next,就能完成安装。

由于cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此我们在使用cpolar之前,需要进行用户注册。注册过程也非常简单,只要在cpolar主页右上角点击用户注册,在注册页面填入必要信息,就能完成注册。

20230322092214

20230322092215

注册完后,登录cpolar的客户端,(可以在浏览器中输入localhost:8088直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式),点击客户端主界面左侧隧道管理——创建隧道按钮,进入本地隧道创建页面

  1. 隧道名称:可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可

  2. 协议:选择http协议

  3. 本地地址:本地地址即为本地网站的输出端口号,内网默认端口为192.168.50.170:88,这里填入192.168.50.170:88

    注意:如果正常输入8080端口,网页出现400情况,需要把前面IP完整填写到本地地址和点击 高级——Host头域

  4. 域名类型:如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址

  5. 地区:与cpolar云端预留的信息一样,我们依照实际使用地填写即可

a66424e89856e2586c0ee15a9fd18fe

完成这些设置后,就可以点击下方按钮。

数据隧道创建完成后,cpolar会自动跳转至隧道管理——隧道列表页面。在这个页面,我们可以对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击编辑按钮,对这条数据隧道的信息进行修改。

ac8b45b9d98ebfb2e07bb57a89e09b1

superset数据隧道入口(公共互联网访问地址),则可以在状态——在线隧道列表中找到。

31c35254841b7e07c1272632b335383

复制两个隧道的任意一个公网地址,粘贴到公网浏览器中。

c68f8a462c6b1f0a048c6800e3a6801

粘贴公网地址到浏览器后,显示公网访问公司的内网superset登录界面,登录后实现公网访问内网。

64e1524540e7a0154e98629f197da24

3. 设置固定连接公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

保留成功后复制保留成功的二级子域名的名称

58c44d3b81d5630a66ce425b6c90da0

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

670a38ff09001f378bfd59a9fcaaf99

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

f1d4bfd091a8ee948fd97994e24ed26

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

5de37f7aaa6eca018514a366bfab9e8

最后,我们使用固定的公网地址访问superset,(两个地址复制哪一个都可以)可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,在外面就可以通过外网地址访问superset大数据系统了,随时随地查看数据!

这篇关于Linux系统Docker部署Apache Superset并实现远程访问详细流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032688

相关文章

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

PyQt6/PySide6中QTableView类的实现

《PyQt6/PySide6中QTableView类的实现》本文主要介绍了PyQt6/PySide6中QTableView类的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录1. 基本概念2. 创建 QTableView 实例3. QTableView 的常用属性和方法

PyQt6/PySide6中QTreeView类的实现

《PyQt6/PySide6中QTreeView类的实现》QTreeView是PyQt6或PySide6库中用于显示分层数据的控件,本文主要介绍了PyQt6/PySide6中QTreeView类的实现... 目录1. 基本概念2. 创建 QTreeView 实例3. QTreeView 的常用属性和方法属性

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

pandas中位数填充空值的实现示例

《pandas中位数填充空值的实现示例》中位数填充是一种简单而有效的方法,用于填充数据集中缺失的值,本文就来介绍一下pandas中位数填充空值的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是中位数填充?为什么选择中位数填充?示例数据结果分析完整代码总结在数据分析和机器学习过程中,处理缺失数

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

使用Pandas进行均值填充的实现

《使用Pandas进行均值填充的实现》缺失数据(NaN值)是一个常见的问题,我们可以通过多种方法来处理缺失数据,其中一种常用的方法是均值填充,本文主要介绍了使用Pandas进行均值填充的实现,感兴趣的... 目录什么是均值填充?为什么选择均值填充?均值填充的步骤实际代码示例总结在数据分析和处理过程中,缺失数

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服