使用Docker部署开源分布式任务调度系统DolphinScheduler

简介: 使用Docker部署开源分布式任务调度系统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

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

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

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

cpolar version

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

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

sudo systemctl status cpolar

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

完成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

点击创建

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

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

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

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

5. 固定DolphinScheduler公网地址

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

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

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

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

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

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

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

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

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

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

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

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

相关文章
|
24天前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
112 18
|
1月前
|
前端开发 数据安全/隐私保护 计算机视觉
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
MAZANOKE 是一款简易的图片优化工具,它直接在浏览器中运行,支持离线使用,并确保您的图片始终保留在设备上,绝不外泄。 这款专为普通人设计的工具,适合与亲友分享使用,是那些来路不明的"免费"在线工具的可靠替代品。
53 1
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
|
2月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
219 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
|
26天前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
122 12
|
11月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
828 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
815 1
使用阿里云部署基于docker的mysql云服务
|
弹性计算 Docker 容器
阿里云一键部署 Docker Datacenter
使用ROS模板在阿里云上一键部署Docker Datacenter
7948 0