作者| 陈逸飞

Docker部署的目的是在容器中快速启动部署Apache Dolphinscheduler服务。

先决条件

使用容器单机部署Dolphinscheduler

  1. 请下载源码包apache-dolphinscheduler--src.tar.gz,下载地址:下载
  • 首先确定服务启动所需的端口未被占用
    port_list=(12345 25333 5432)
    for port in ${port_list[@]};do
    netstat -an | grep $port
    done
    # 无任何输出即为端口未被占用
  • 如果端口被占用的情况下
    vim docker-compose.yml

    找到dolphinscheduler-api,修改ports。

    # 默认内容
    ports:
    - "12345:12345"
    - "25333:25333" # 根据需求修改,如:
    ports:
    - "22345:12345"
    - "35333:25333"
  1. 安装Postgresql 与 Dolphinscheduler服务
tar -zxvf apache-dolphinscheduler-<version>-src.tar.gz
cd apache-dolphinscheduler-<version>-src/deploy/docker
# 初始化数据库等
docker-compose --profile schema up -d
# 启动所有服务
docker-compose --profile all up -d

使用容器分布式部署Dolphinscheduler

  1. 在deploy文件夹下修改完成.env文件之后,复制到其他服务器
  2. 在其他需要启动Dolphinscheduler服务的服务器下,执行启动命令(如:Dolphinscheduler-api)
docker-compose up -d  dolphinscheduler-api

使用非容器化的Postgresql与zookeeper

  1. 修改环境变量
# 进入Deploy目录
cd apache-dolphinscheduler-<version>-src/deploy/docker
vim .env
## 修改以下内容
# 数据库名称
DATABASE=dolp
# 数据库连接地址
SPRING_DATASOURCE_URL=jdbc:postgresql://10.0.8.14:15432/dolp
# Zookeeper连接地址
REGISTRY_ZOOKEEPER_CONNECT_STRING=10.0.8.14:12181
# 连接数据库的用户名
SPRING_DATASOURCE_USERNAME=dolp
# 连接数据库的密码
SPRING_DATASOURCE_PASSWORD=111111
  1. 初始化
docker-compose --profile schema up -d
  1. 启动Dolphinscheduler服务
# 启动worker服务
docker-compose up -d dolphinscheduler-worker
# 启动master服务
docker-compose up -d dolphinscheduler-master
# 启动alert服务
docker-compose up -d olphinscheduler-alert
# 启动api服务
docker-compose up -d dolphinscheduler-api

让Dolphinschedule元数据库支持Mysql

  1. 下载Mysql-jdbc驱动包mysql-connector-java-8.0.16.jar
  2. 在MySQL驱动包目录下,执行以下命令
# 如果用的是默认容器启动的zookeeper和PostgreSQL,会有两条Error,忽略即可
for container_name in `docker ps |grep dolphinscheduler | awk '{print $1}'`;do docker cp ./mysql-connector-java-8.0.16.jar $container_name:/opt/dolphinscheduler/libs;done
  1. 重启所有服务
docker-compose --profile all restart

本文由 白鲸开源 提供发布支持!

Dolphinscheduler Docker部署全攻略的更多相关文章

  1. Testlink部署全攻略

    部署前准备: xampp,我下载的链接:https://www.apachefriends.org/download.html Testlink,下载地址:https://sourceforge.ne ...

  2. 在net安装程序中部署oracle客户端全攻略

    在net安装程序中部署oracle客户端全攻略 主要的是要做三件工作: 打包文件,写注册表,注册环境变量说明:我的oracle版本为9, 在2000 advanced server 上测试通过,可以正 ...

  3. 开发小白也毫无压力的hexo静态博客建站全攻略 - 躺坑后亲诉心路历程

    目录 基本原理 方法1 - 本机Windows下建站 (力荐) 下载安装node.js 用管理员权限打开命令行,安装hexo-cli和hexo 下载安装git 初始化hexo 使用hexo gener ...

  4. maven教程全攻略

    maven教程全攻略 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关 ...

  5. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

  6. 生成 PDF 全攻略【2】在已有PDF上添加内容

    项目在变,需求在变,不变的永远是敲击键盘的程序员..... PDF 生成后,有时候需要在PDF上面添加一些其他的内容,比如文字,图片.... 经历几次失败的尝试,终于获取到了正确的代码书写方式. 在此 ...

  7. 从小工到专家 ——读《Java程序员职场全攻略》有感

    从小工到专家 ——读<Java程序员职场全攻略>有感   <Java程序员职场全攻略>是以故事的形式,向读者介绍Java程序员的职场经验.作者牛开复在北京从事软件开发,已经是一 ...

  8. Android屏幕适配全攻略 (转载)

    http://blog.csdn.net/jdsjlzx/article/details/45891551 https://github.com/hongyangAndroid/AndroidAuto ...

  9. Moon.Orm3.8技术全攻略

    Moon.ORM技术全攻略  一.绪论 本文主要是针对Moon.ORM的技术的讨论及其使用使用指导.如有其它疑问,请留言.本文主要针对Moon.ORM3.9版本,同时将会对4.0做一个技术预览.本文从 ...

  10. TestLink安装全攻略

    TestLink安装全攻略 此文章转自该链接--http://www.cnblogs.com/Tcorner/archive/2011/07/26/2117296.html 安装前准备 需要下载xam ...

随机推荐

  1. 燕千云 YQCloud 数智化业务服务管理平台 发布1.13版本

    2022年6月10日,燕千云 YQCloud 数智化业务服务管理平台发布1.13版本.本次燕千云1.13版本新增了远程桌面.知识库多人在线协作.移动端疫苗核酸信息管理.单据委托代理.技能管理.产品自助 ...

  2. AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8

    AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8 出 ...

  3. 面试官:Java中缓冲流真的性能很好吗?我看未必

    一.写在开头 上一篇文章中,我们介绍了Java IO流中的4个基类:InputStream.OutputStream.Reader.Writer,那么这一篇中,我们将以四个基类所衍生出来,应对不同场景 ...

  4. 解决git 区分文件名大小写

    问题:两人协作开发同一分支时,由于一方将组件文件名小写开头,并且推送到远程分支,导致我每次拉取代码会将我本地文件名改成小写,并且我手动改成大写后推送到远端仓库,远端仓库文件名无变化,还是小写. 查证后 ...

  5. 算法金 | 一个强大的算法模型:t-SNE !!

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 t-SNE(t-Distributed Stochastic Neighbor Emb ...

  6. macOS Big Sur 11.0.1光盘镜像文件制作

    https://blog.csdn.net/hymnal/article/details/110393501

  7. C++获取商店应用(msix应用)桌面快捷方式的安装目录

    传统应用的快捷方式目标指向可执行文件的路径,但是对于商店应用(也叫msix打包应用),则指向一个奇怪的字符串,使用IShellLink::GetPath获取路径时,则得到的是空字符串,而我们的最终目的 ...

  8. ADB命令与Dumpsys alarm查看应用程序唤醒命令

    ADB命令与Dumpsys alarm查看应用程序唤醒命令 背景 在研究设备的低功耗突然唤醒时,看到了对应的唤醒源: [ 75.813476] suspend ns: 75813465022\x09s ...

  9. ajax - 初步介绍

    进入ajax了,想要进入vue还有一个前提就是要把ajax给熟悉一下,看一看客户端与服务器之间是怎么一个通信的过程,第一天主要是先了解了一下ajax的一些介绍,ajax嘛,在进入之前,肯定是要了解一下 ...

  10. C#中重写(override)及覆盖(new)的区别详解

    1. 重写和覆盖的定义 1.1 重写(override)的定义   在C#中,用override关键字来重写一个父类中的虚方法或抽象方法.override关键字用于指示编译器,我要用派生类中的一个方法 ...