dolphinscheduler服务启动
dolphinscheduler(简称DS)此文档对应版本是2.0.5官方文档,采用得是docker-compose部署,类似于一键启动这里不再过多介绍,重点介绍如何使用MySQL作为DS数据库,DS默认使用PostgreSQL
启动
docker tag apache/dolphinscheduler:2.0.5 apache/dolphinscheduler:latest
docker-compose up -d
使用MySQL作为DS数据库
-
下载对应MySQL连接jar包,放到对应docker-compose.yml同级目录下,注意版本要一致
-
创建DockerFile,写入下面两行代码,MySQL版本与你实际得一致
FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:2.0.5 COPY mysql-connector-java-8.0.16.jar /opt/dolphinscheduler/lib -
构建MySQL镜像
docker build -t apache/dolphinscheduler:mysql-driver . -
修改 docker-compose.yml 文件中的所有 image 字段为 apache/dolphinscheduler:mysql-driver,zookeeper除外,并删除所有dolphinscheduler-postgresq设置,如下所示(这里采用注释代替删除)
version: "3.1" services: # dolphinscheduler-postgresql: # image: bitnami/postgresql:11.11.0 # environment: # TZ: Asia/Shanghai # POSTGRESQL_USERNAME: root # POSTGRESQL_PASSWORD: root # POSTGRESQL_DATABASE: dolphinscheduler # volumes: # - dolphinscheduler-postgresql:/bitnami/postgresql # restart: unless-stopped # networks: # - dolphinscheduler dolphinscheduler-zookeeper: image: bitnami/zookeeper:3.6.2 environment: TZ: Asia/Shanghai ALLOW_ANONYMOUS_LOGIN: "yes" ZOO_4LW_COMMANDS_WHITELIST: srvr,ruok,wchs,cons volumes: - dolphinscheduler-zookeeper:/bitnami/zookeeper restart: unless-stopped networks: - dolphinscheduler dolphinscheduler-api: image: apache/dolphinscheduler:mysql-driver command: api-server ports: - 12345:12345 environment: TZ: Asia/Shanghai env_file: config.env.sh healthcheck: test: ["CMD", "/root/checkpoint.sh", "ApiApplicationServer"] interval: 30s timeout: 5s retries: 3 depends_on: # - dolphinscheduler-postgresql - dolphinscheduler-zookeeper volumes: - dolphinscheduler-logs:/opt/dolphinscheduler/logs - dolphinscheduler-shared-local:/opt/soft - dolphinscheduler-resource-local:/dolphinscheduler restart: unless-stopped networks: - dolphinscheduler dolphinscheduler-alert: image: apache/dolphinscheduler:mysql-driver command: alert-server environment: TZ: Asia/Shanghai env_file: config.env.sh healthcheck: test: ["CMD", "/root/checkpoint.sh", "AlertServer"] interval: 30s timeout: 5s retries: 3 # depends_on: # - dolphinscheduler-postgresql volumes: - dolphinscheduler-logs:/opt/dolphinscheduler/logs restart: unless-stopped networks: - dolphinscheduler dolphinscheduler-master: image: apache/dolphinscheduler:mysql-driver command: master-server environment: TZ: Asia/Shanghai env_file: config.env.sh healthcheck: test: ["CMD", "/root/checkpoint.sh", "MasterServer"] interval: 30s timeout: 5s retries: 3 depends_on: # - dolphinscheduler-postgresql - dolphinscheduler-zookeeper volumes: - dolphinscheduler-logs:/opt/dolphinscheduler/logs - dolphinscheduler-shared-local:/opt/soft restart: unless-stopped networks: - dolphinscheduler dolphinscheduler-worker: image: apache/dolphinscheduler:mysql-driver command: worker-server environment: TZ: Asia/Shanghai env_file: config.env.sh healthcheck: test: ["CMD", "/root/checkpoint.sh", "WorkerServer"] interval: 30s timeout: 5s retries: 3 depends_on: # - dolphinscheduler-postgresql - dolphinscheduler-zookeeper volumes: - dolphinscheduler-worker-data:/tmp/dolphinscheduler - dolphinscheduler-logs:/opt/dolphinscheduler/logs - dolphinscheduler-shared-local:/opt/soft - dolphinscheduler-resource-local:/dolphinscheduler - /tmp/srbmp/taskFile:/tmp/srbmp/taskFile restart: unless-stopped networks: - dolphinscheduler networks: dolphinscheduler: driver: bridge volumes: # dolphinscheduler-postgresql: dolphinscheduler-zookeeper: dolphinscheduler-worker-data: dolphinscheduler-logs: dolphinscheduler-shared-local: dolphinscheduler-resource-local: -
修改 config.env.sh 文件中的 DATABASE 环境变量,初始化MySQL数据库,脚本地址,下载完成解压,/sql/sql/dolphinscheduler_mysql.sql
DATABASE_TYPE=mysql DATABASE_DRIVER=com.mysql.jdbc.Driver DATABASE_HOST=localhost DATABASE_PORT=57409 DATABASE_USERNAME=root DATABASE_PASSWORD=root DATABASE_DATABASE=dolphinscheduler DATABASE_PARAMS=useUnicode=true&characterEncoding=UTF-8