Docker部署开源分布式任务调度平台DolphinScheduler并实现远程访问办公

文章目录

    • 前言
    • 1. 安装部署DolphinScheduler
      • 1.1 启动服务
    • 2. 登录DolphinScheduler界面
    • 3. 安装内网穿透工具
    • 4. 配置Dolphin Scheduler公网地址
    • 5. 固定DolphinScheduler公网地址

前言

本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内网穿透工具实现公网访问DolphinScheduler内网并进行远程办公,帮助开发人员进行远程任务调度及管理,提高工作效率。

DolphinScheduler是一款开源的分布式任务调度系统,它可以帮助开发人员更加方便地进行任务调度和管理。DolphinScheduler支持常见的任务类型,包括Shell、Hadoop、Spark、Hive等,同时它也提供了可视化的任务编排和监控,使得任务管理变得更加简单。DolphinScheduler的开发团队源于支付宝的数据平台团队,经历了多年的实践和积累,已经成为了一个成熟的开源项目。

1. 安装部署DolphinScheduler

前置条件:

需要安装 Docker 1.13.1 以上版本,以及 Docker Compose 1.28.0 以上版本。

1.1 启动服务

使用 standalone-server 镜像

使用 standalone-server 镜像启动一个 DolphinScheduler standalone-server 容器应该是最快体验 DolphinScheduler 的方法。通过这个方式 你可以最快速的体验到 DolphinScheduler 的大部分功能,了解主要和概念和内容。

$ DOLPHINSCHEDULER_VERSION=3.2.0
$ docker run --name dolphinscheduler-standalone-server -p 12345:12345 -p 25333:25333 -d apache/dolphinscheduler-standalone-server:"${DOLPHINSCHEDULER_VERSION}"

2. 登录DolphinScheduler界面

启动服务后,在浏览器中输入http://localhost:12345/dolphinscheduler/ui 访问DolphinScheduler.

默认的用户名:admin 密码:dolphinscheduler123

033a89e7e53e0e4f1dcae64e1c93caf

登录成功后进入到DolphinScheduler的管理界面。

8ce631358b6cfe03c48132d7b754b83

3. 安装内网穿透工具

完成DolphinScheduler的部署后,就可以安装cpolar。要在ubuntu系统上安装cpolar,可以使用简便的一键安装脚本进行安装。只要在ubuntu的命令行界面输入以下命令,就可以自动执行安装程序(需要注意的是,可能有的ubuntu版本没有安装curl工具,因此最好先执行命令“sudo aptinstall curl”安装curl工具)。

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

Cpolar安装完成后,就可以再输入命令“sudo systemctl start cpolar”,启动cpolar。

 sudo systemctl start cpolar

1dea9c95be75fa5bbf9401eabc1b741

当然,我们也可以不使用systemctl级别命令,而是输入“cpolar version”

cpolar version

查询本地cpolar的版本号,只要能显示出版本信息,就说明cpolar安装完成。

cced0680cde4be99c23458b0b445d75

为保证cpolar能在ubuntu系统上长期运行,以此保证数据隧道的稳定存续,最好将cpolar添加进ubuntu开机自启列表。只要在ubuntu的命令行界面,输入命令“sudo systemctl status cpolar”,就能将cpolar添加进自启列表中。

sudo systemctl status cpolar

91dfd2231f70c9f12e373ce21b2682a

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

img

ab6f61e1f2c47b26731df28c783d555

完成cpolar用户注册后,我们就可以使用每位用户唯一的token码,激活cpolar的客户端。只要在cpolar官网登录后,就可以在“验证”页面(或是“连接您的账户”窗口),找到用户唯一的token码。

将这个token码复制粘贴到ubuntu的命令行界面,cpolar客户端就会将这个token码写入本地cpolar.yml文件中(token码激活只需要进行一次即可),以此作为用户数据隧道的识别信息。具体命令格式为“cpolar authtoken 用户唯一的token码”。

cpolar authtoken tokeb码

cpolar安装成功后,在外部浏览器上访问9200端口,浏览器地址栏输入localhost:9200,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,接下来在web 管理界面配置即可。

4. 配置Dolphin Scheduler公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Dolphin Scheduler的公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:12345
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

点击创建

e00c89e38881c5160b17560ee3ad66b

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

8afd74ba640d7177d0ce56d554cdd44

注意,复制上面的cpolar https公网地址后面加上网站地址后面的路径。例如:

http://22da3a53.r8.cpolar.top/dolphinscheduler/ui/login

在任意设备的浏览器进行访问,即可成功看到DolphinScheduler登录界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网地址,无需自己购买云服务器,即可发布到公网进行远程访问。

image-20231107170120563

5. 固定DolphinScheduler公网地址

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

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

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

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

image-20231107170642264

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

image-20231107170748771

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

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

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

image-20231107170842363

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

image-20231107171008920

最后,我们使用固定的公网地址加网站地址后面路径访问,例如:

http://dolphinscheduler.vip.cpolar.cndolphinscheduler/ui/login

可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以访问DolphinScheduler内网并进行远程办公,帮助开发人员进行远程任务调度及管理,提高工作效率!

image-20231107171147165

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

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

相关文章

Java连接数据库增删改查-MyBatis

准备工作: 1.创建一个springboot项目,并添加四个依赖 分别是,MyBatis的启动依赖和安装依赖,SQL的依赖,测试依赖,如下: 2.然后创建一张至少两条数据的表 (表可以用各种图形化工具创…

[c]零钱兑换

题目比较简单&#xff0c;看答案就能看懂什么意思 #include<stdio.h> int main() {int count 0;int n;scanf("%d", &n);for (int i 0; i < n; i){for (int k 0; k <n/2; k){for (int j 0; j < n/5 ; j){if (i 2 * k 5 * j n){count;}}}}p…

【图片版】计算机组成原理考前复习题【第3章 存储系统-2(Cache)】

目录 前言 考前复习题&#xff08;必记&#xff09; 结尾 前言 在计算机组成原理的学习过程中&#xff0c;我们深入探索了计算机系统概述这一重要领域。计算机系统作为现代科技的核心&#xff0c;是整个计算机科学的基石。我们将学到的知识与理论转化为了能够解决现实问题…

递归的两个特点、典型案例----汉诺塔问题

一、递归的两个特点 1、要自己调用自己 2、递归函数里要有结束条件。 二、汉诺塔问题 有三根柱子&#xff0c;现在在一根柱子上&#xff0c;从下往上&#xff0c;按照大小顺序摞着很多盘子。现在要把这些盘子全部放到另一根柱子上&#xff0c;且盘子依然按照从大到小顺序摞着…

【Cisco Packet Tracer】路由器 NAT实验

NAT的实现方式有三种&#xff0c;即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。 静态转换是指内部本地地址一对一转换成内部全局地址&#xff0c;相当内部本地的每一台PC都绑定了一个全局地址。一般用于在内网中对外提供服务的服务器。 [3] 动态转换是指…

Go Changes--Russ Cox在GopherCon 2023的演讲

本内容是Go项目负责人Russ Cox 2023年10月在 GopherCon 上发表的演讲[1] (后面重新录制)的摘要与记录. 主要内容是讲述为什么 Go 必须随着时间的推移而改变,以及为何加入遥测是重要且合适的 本次演讲不是关于Go某些特定的更改&#xff0c;而是修改的整体过程&#xff0c;特别是…

Git—文件添加查看删除修改

目录 1.添加文件—场景一 2.查看.git文件 3.添加文件—场景三 4.修改文件 5.版本回退 6.撤销修改 7.删除文件 1.添加文件—场景一 在包含.git的目录下新建⼀个ReadMe文件&#xff0c;我们可以使用 git add 命令可以将文件添加到暂存 区&#xff1a; ●添加一个或多个文…

从零开始训练一个ChatGPT大模型(低资源,1B3)

macrogpt-prertrain 大模型全量预训练(1b3), 多卡deepspeed/单卡adafactor 源码地址&#xff1a;https://github.com/yongzhuo/MacroGPT-Pretrain.git 踩坑 1. 数据类型fp16不太行, 很容易就Nan了, 最好是fp32, tf32, 2. 单卡如果显存不够, 可以用优化器adafactor, 3. 如果…

文心一言 VS 讯飞星火 VS chatgpt (153)-- 算法导论12.2 9题

九、用go语言&#xff0c;设 T 是一棵二叉搜索树&#xff0c;其关键字互不相同;设 x 是一个叶结点&#xff0c;y 为其父结点。证明&#xff1a; y.key 或者是 T 树中大于 x.key 的最小关键字&#xff0c;或者是 T 树中小于 x.key 的最大关键字。 文心一言&#xff1a; 要证明…

Excel——TEXTJOIN函数实现某一列值相等时合并其他列

一、TEXTJOIN函数介绍 公式TEXTJOIN(分隔符, 忽略空白单元格, 字符串1…) 分隔符&#xff1a;文本字符串&#xff0c;或者为空&#xff0c;或用双引号引起来的一个或多个字符&#xff0c;或对有效文本字符串的引用。如果提供一个数字&#xff0c;则将被视为文本。 忽略空白单…

SpringMVC修炼之旅(3)REST风格与拦截器

一、概述 1.1简介 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议&#xff0c;只是一种风格。基于这个风格设计的软件可以更简洁&#xff0c;更有层次&#xff0c;更易于实现缓存等机制。 1.2功能 资源&#xff1a;互联网所有的事物都可以被抽象为资源 资源操作…

Mysql- 流程函数-(If, CASE WHEN)的使用及练习

目录 4.1 If函数语法格式 4.2 CASE WHEN 条件表达式格式 4.3 update与 case when 4.4 练习题1 4.5 练习题2 4.6 练习题3-行转列 4.7 牛客练习题 4.8 LeetCode练习题 4.1 If函数语法格式 IF(expr1,expr2,expr3) 解释&#xff1a; 如果表达式expr1true(expr1 <>…