0
点赞
收藏
分享

微信扫一扫

腾讯云计算工程师认证篇--云计算核心技术与分层架构

zhongjh 2024-11-06 阅读 3

安装 Docker 和 Docker Compose(已经安装可以跳过)

首先,确保你的 Ubuntu 系统是更新过的,可以使用以下命令更新软件包列表:

 sudo apt-get update

安装 Docker,运行以下命令:

 sudo apt-get install -y docker.io

安装完成后,将当前用户添加到docker用户组,以便能够以非sudo权限运行docker命令(需要注销并重新登录才能生效):

 sudo usermod -aG docker $USER

安装 Docker Compose。可以从官方 GitHub 仓库下载适合 Ubuntu 的二进制文件,也可以使用以下命令通过 Python 软件包管理器pip安装(确保已经安装了pip):

 sudo pip install docker-compose

搭建过程

下载源码包 apache-dolphinscheduler-2.0.5-src.tar.gz,下载地址: 下载,解压:

 $ tar -zxvf apache-dolphinscheduler-2.0.5-src.tar.gz
 $ cd apache-dolphinscheduler-2.0.5-src/docker/docker-swarm

拉取镜像:

 $ docker pull dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:2.0.5

启动容器:

 $ docker-compose up -d

出现问题:

解决:

因为原来的配置文件里的ZooKeeper那个版本已经下架了,需要修改apache-dolphinscheduler-2.0.5-src/docker/docker-swarm目录下的docker-compose.yml

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

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.8.4
    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:2.0.4
    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:2.0.4
    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:2.0.4
    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:2.0.5
    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
    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:

启动成功:

访问前端页面:http://localhost:12345/dolphinscheduler,默认的用户是admin,默认的密码是dolphinscheduler123

停止服务:

 $ docker stop $(docker ps -q)
 $ sudo systemctl stop docker

举报

相关推荐

0 条评论