暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Dolphinscheduler Docker 部署全攻略

大数据技能圈 2024-12-18
286

点击蓝字 关注我们

作者| 陈逸飞
Docker部署的目的是在容器中快速启动部署Apache Dolphinscheduler服务。



01


先决条件


  • docker-compose(https://docs.docker.com/compose/install/)
  • docker



02


使用容器单机部署



  1. 请下载源码包apache-dolphinscheduler--src.tar.gz,下载地址:https://dolphinscheduler.apache.org/zh-cn/download/3.1.9
  • 首先确定服务启动所需的端口未被占用
    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




03


使用容器分布式部署


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



04


使用非容器化的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



05


让DolphinScheduler元数据库支持MySQL



  1. 下载Mysql-jdbc驱动包mysql-connector-java-8.0.16.jar(https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.16/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

< 🐬🐬 >
精彩推荐

用户实践案例
奇富科技  蜀海供应链 联通数科 拈花云科
蔚来汽车 长城汽车 集度 长安汽车
思科网讯 生鲜电商 联通医疗 联想
新网银行 消费金融  腾讯音乐 自如
有赞 伊利 当贝大数据
联想 传智教育 Bigo
通信行业  作业帮


迁移实践
Azkaban   Ooize   
Airflow (有赞案例) Air2phin(迁移工具)
Airflow迁移实践
Apache DolphinScheduler 3.0.0 升级到 3.1.8 教程


新手入门
选择Apache DolphinScheduler的10个理由
Apache DolphinScheduler 3.1.8 保姆级教程【安装、介绍、项目运用、邮箱预警设置】轻松拿捏!
Apache DolphinScheduler 如何实现自动化打包+单机/集群部署?
Apache DolphinScheduler-3.1.3 版本安装部署详细教程
Apache DolphinScheduler 在大数据环境中的应用与调优
< 🐬🐬 >
参与社区
参与Apache DolphinScheduler 社区有非常多的参与贡献的方式,包括:


贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689

非新手问题列表:https://github.com/apache/dolphinscheduler/issues?
q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22

参与社区贡献:https://dolphinscheduler.apache.org/zh-cn/community

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的!


我知道你在看

文章转载自大数据技能圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论