大数据可视化BI分析工具Apache Superset结合内网穿透实现远程访问

文章目录

    • 前言
    • 1. 使用Docker部署Apache Superset
      • 1.1 第一步安装docker 、docker compose
      • 1.2 克隆superset代码到本地并使用docker compose启动
    • 2. 安装cpolar内网穿透,实现公网访问
    • 3. 设置固定连接公网地址

前言

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方式来安装。
下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

说明:请选择自己对应的系统-可参考这个网页https://docs.docker.com/engine/install/。

下载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包再解压即可
浏览器打开https://github.com/apache/superset网页,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官网:https://www.cpolar.com

在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大数据系统了,随时随地查看数据!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/236820.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flask ImportError: DLL load failed: 找不到指定的模块。

一、anaconda环境 将anaconda3安装路径下DDL目录中的 libcrypto-1_1-x64.dll 和 libssl-1_1-x64.dll 拷贝到 虚拟环境目录下的DLL中 完美解决 成功了给个赞吧!

三大主流前端框架介绍及选型

在前端项目中,可以借助某些框架(如React、Vue、Angular等)来实现组件化开发,使代码更容易复用。此时,一个网页不再是由一个个独立的HTML、CSS和JavaScript文件组成,而是按照组件的思想将网页划分成一个个组…

智能优化算法应用:基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.未来搜索算法4.实验参数设定5.算法结果6.…

Java:获取线程组的最大优先级

java.lang.ThreadGroup的getMaxPriority()函数返回该线程组的最大优先级。这个最大优先级就等于该线程组中新创建线程的最大优先级。 代码示例: package com.thb;public class Test5 {public static void main(String[] args) {ThreadGroup threadGroup Thread.c…

Unity | Shader基础知识(第八集:案例<漫反射材质球>)

目录 一、本节介绍 1 上集回顾 2 本节介绍 二、什么是漫反射材质球 三、 漫反射进化史 1 三种算法结果的区别 2 具体算法 2.1 兰伯特逐顶点算法 a.本小节使用的unity自带结构体。 b.兰伯特逐顶点算法公式 c.代码实现——兰伯特逐顶点算法 2.2 代码实现——兰伯特逐…

【C++】初识模板

本文目录 1. 泛型编程2. 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则 3. 类模板3.1 类模板的定义格式3.2 类模板的实例化 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int&…

【控制器局域网】CAN报文学习笔记(四)之 字节排序、信号提取实例1

以下面的表格来表示字节顺序和位顺序,用红色表示高位MSB,蓝色表示低位LSB,绿色为LSB到MSB的过度 Bit oderMSB→→→→→→LSBByte oder\Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0MSBByte076543210↓Byte115141312111098↓Byte22322212019181716↓By…

【Proteus/8086】swjtu西南交大微机与接口技术实验:计时器

实验内容: 计时器基本功能: 1)CPU必须用8086 2)计时器最小计时单位为秒。 3)以00:00格式显示计时,前2位表示分钟,后2位表示秒。 4)计时器是正计时方式 5)有暂停、继续计时功能 6)有复位计时功能 7)每次按下暂停键,能显示计时间隔时间 参考…

Vue 2.5 入门学习记录

Vue 2.5 入门学习记录 1. 基础知识Vue 是什么Vue引入方式Vue特点Vue实例中的数据事件方法Vue中的属性绑定和双向绑定Vue中的v-if、v-show、v-fortoDoList制作局部组件&全局组件 2. vue-cli工程3. 工程案例实践使用vue-cli实现todoList及删除某个元素全局样式与局部样式 4. …

CentOS安装Python解释,CentOS设置python虚拟环境,linux设置python虚拟环境

一、安装python解释器 1、创建解释器安装的目录:/usr/local/python39 cd /usr/local mkdir python39 2、下载依赖 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel xz-devel …

IEEE TASLP | 联合语音识别与口音识别的解耦交互多任务学习网络

尽管联合语音识别(ASR)和口音识别(AR)训练已被证明对处理多口音场景有效,但当前的多任务ASR-AR方法忽视了任务之间的粒度差异。细粒度单元(如音素、声韵母)可用于捕获与发音相关的口音特征&…

Certum的ip数字证书

Certum是欧洲第一个通过WebTrust的CA认证机构,几十年来不断发展,旗下的数字证书产品也日益增多,不仅有各种类型的域名数字证书,还有专为公网IP地址准备的DV基础型IP证书。今天就随SSL盾小编了解Certum旗下的DV基础型IP证书。 1.C…

使用RedisCacheWriter#clean在线异步地批量扫描匹配删除缓存数据-spring-data-redis

1.背景 生产环境,某云的某个业务Redis实例,触发内存使用率,连续 3 次 平均值 > 85 %告警。 运维同学告知,看看需要怎么优化或者升级配置?分享了其实例RDB的内存剖析链接。 通过内存剖析详情发现,存在某…

【深入使用】PHP的PDO 基本使用

前言: PDO:数据库抽象层 简介:PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,PDO解决了数据库连接不统一的问题。是PHP 5新加入的一个重大功能 【为什么要使用PDO】? PDO是PHP5新加入的一个重大功能&a…

ansible在ubuntu下的安装和使用

ansible在ubuntu下的安装和使用 本文目录 ansible在ubuntu下的安装和使用安装和配置虚拟机配置安装和验证 简单使用创建 ansible cfg 和 inventory 文件创建剧本并执行使用 ansible vault 加密 安装和配置 中文文档:http://www.ansible.com.cn/docs/intro_installa…

力扣:203. 移除链表元素(Python3)

题目: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 …

芋道前端框架上线之后发现element-ui的icon图标全部乱码

前言 最近发现线上有人反映图标全部是乱码,登录上去看确实乱码,刷新就好最后一顿搜,发现是sass版本不兼容导致的图标乱码问题 解决办法 1.先把sass升级到1.39.0 2.来到vue.config.js文件配置代码-如果是芋道前端框架不用配置自带 css: {lo…

使用Docker部署Nexus Maven私有仓库并结合Cpolar实现远程访问

文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定Nexus公网地址7. 固定地址访问Nexus Nexus是一个仓库管理工具,用于管理和组织软件构建过程中的依赖项和构件。它与Maven密切相关,可…

Ruckus Wireless Admin 命令执行漏洞复现(CVE-2023-25717)

0x01 产品简介 Ruckus Wireless Admin是ruckuswireless多个路由、硬件设备的后台管理系统。 0x02 漏洞概述 Ruckus Wireless Admin在10.4 及更早版本存在命令执行漏洞。攻击者可通过该漏洞在服务器端任意执行代码,写入后门,获取服务器权限&#xff0c…

Axure之中继器的使用(交互动作reperter属性Item属性)

目录 一.中继器的基本使用 二.中继器的动作(增删改查) 2.1 新增 2.2 删除 2.3 更新行 2.4 效果展示 2.5 模糊查询 三.reperter属性 在Axure中,中继器(Repeater)是一种功能强大的组件,用于创建重复…