作者| 陈逸飞

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

先决条件

使用容器单机部署Dolphinscheduler

  1. 请下载源码包apache-dolphinscheduler--src.tar.gz,下载地址:下载
  2. 首先确定服务启动所需的端口未被占用

    port_list=(12345 25333 5432)
    for port in ${port_list[@]};do
      netstat -an | grep $port
    done
    # 无任何输出即为端口未被占用
  3. 如果端口被占用的情况下

    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
  2. 初始化

    docker-compose --profile schema up -d
  3. 启动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
  3. 重启所有服务

    docker-compose --profile all restart
本文由 白鲸开源科技 提供发布支持!

海豚调度
89 声望22 粉丝

Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。