Dolphinscheduler Docker部署全攻略

作者| 陈逸飞

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 与 Dolphinsched
<think>好的,我需要帮助用户在Docker中以伪集群模式部署DolphinScheduler。首先,我应该回忆一下DolphinScheduler的基本架构和组件,比如Master Server、Worker Server、API Server等。伪集群模式通常是指所有服务都运行在一个容器或多个容器中,但共享同一台机器的资源。 接下来,我需要考虑Docker部署的常规步骤,比如准备Dockerfile、编写docker-compose.yml配置文件,设置环境变量,以及网络配置等。用户提供的引用中有提到Docker的配置文件和构建命令,可以参考引用[1]中的配置选项和引用[2]中的构建命令示例。 然后,我需要确认DolphinScheduler是否有官方的Docker镜像或者社区提供的镜像。如果没有,可能需要用户自己构建,这时候需要确保Dockerfile正确安装所有依赖,比如Java、Hadoop等,如引用[2]提到的Hadoop和JDK的jar包需要放到正确的位置。此外,引用[3]提到所有组件都可以作为Docker容器部署,可能涉及多容器编排,比如使用docker-compose。 还需要注意数据持久化的问题,比如数据库的卷挂载,以及网络设置确保容器间通信。环境变量配置可能包括数据库连接信息、服务端口等。另外,用户可能需要初始化数据库,运行SQL脚本,这部分需要指导如何在容器启动时执行。 最后,验证部署是否成功,检查各个服务是否正常启动,访问Web界面等。可能还需要处理常见的错误,比如端口冲突、依赖服务未启动等。 现在,我需要将这些步骤整理成一个清晰的指南,确保用户能够逐步操作,并引用提供的参考资料中的相关信息。同时,生成相关问题帮助用户进一步了解。</think>### DolphinScheduler伪集群模式Docker部署指南 #### 一、准备工作 1. **获取基础镜像** 推荐使用官方或社区维护的DolphinScheduler镜像。若无官方镜像,需自行构建: ```dockerfile FROM openjdk:8-jdk RUN apt-get update && apt-get install -y python3 ADD apache-dolphinscheduler-3.1.9-bin.tar.gz /opt/ ``` 构建命令参考引用[2]: `docker build -f dolphinscheduler-Dockerfile -t yourname/dolphinscheduler:pseudo-1.0 .` 2. **依赖配置** - 确保容器内已安装Hadoop伪集群环境(若需集成Hadoop)[^2] - 将数据库驱动(如MySQL JDBC)放入镜像的`/lib`目录 --- #### 二、配置文件修改 1. **数据库配置** 修改`conf/application.yaml`中的数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://mysql-container:3306/dolphinscheduler username: root password: root ``` 2. **服务角色配置** 在`conf/workers.properties`中设置Worker节点为本地: ```properties worker.groups=default default.workers=worker1 worker1.host=localhost ``` --- #### 三、容器编排(docker-compose.yml) ```yaml version: '3' services: dolphinscheduler: image: yourname/dolphinscheduler:pseudo-1.0 ports: - "12345:12345" # API端口 - "5173:5173" # UI端口 volumes: - ./data:/opt/dolphinscheduler/data environment: - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/dolphinscheduler depends_on: - mysql mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: root volumes: - mysql_data:/var/lib/mysql volumes: mysql_data: ``` > 注:网络配置需确保容器间互通,参考Docker网络配置文档[^1] --- #### 四、初始化与启动 1. **数据库初始化** ```bash docker exec -it dolphinscheduler-container sh -c "/opt/dolphinscheduler/script/create-dolphinscheduler.sh" ``` 2. **启动服务** 通过docker-compose启动服务: ```bash docker-compose up -d ``` --- #### 五、验证部署 1. 访问Web UI:`http://localhost:5173`(默认账号admin/dolphinscheduler123) 2. 检查服务状态: ```bash docker logs dolphinscheduler-container | grep 'MasterServer|WorkerServer' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DolphinScheduler社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值