수동 예약에 작별 인사를 하세요. Dolphin Scheduler 3.1.x 클러스터 배포를 사용하면 여러 컴퓨터를 쉽게 관리할 수 있습니다!

파일

첫 번째 하트 조각부터 재인쇄되었습니다.

1. 소개

Dolphin Scheduling Organ Network의 클러스터 배포 문서는 지저분하게 작성되어 있고, 설치 과정에서 여러 곳으로 이동하여 작업해야 하기 때문에, 이후의 작업을 용이하게 하기 위해 처음부터 끝까지 직접 따라 할 수 있도록 문서를 정리했습니다. 배포 및 업그레이드, 노드 추가 및 노드 축소 관련 작업.

2. 미리 준비하세요

2.1. 기본 구성 요소

  • JDK: JDK(1.8+)를 다운로드하고 JAVA_HOME 환경 변수를 설치 및 구성한 다음 그 아래의 bin 디렉터리를 PATH 환경 변수에 추가합니다. 환경에 이미 존재하는 경우 이 단계를 건너뛸 수 있습니다.
  • 바이너리 패키지: 다운로드 페이지에서 DolphinScheduler 바이너리 패키지를 다운로드하세요.
  • 데이터베이스: PostgreSQL(8.2.15+) 또는 MySQL(5.7+), 둘 중 하나를 선택할 수 있습니다. 예를 들어 MySQL에는 중앙 웨어하우스에서 다운로드할 수 있는 JDBC Driver 8 버전이 필요합니다.
  • 등록 센터: ZooKeeper(3.4.6+), 다운로드 주소.
  • 프로세스 트리 분석
    • macOS 설치 pstree
    • Fedora/Red/Hat/CentOS/Ubuntu/Debian 설치 psmisc.

참고: DolphinScheduler 자체는 Hadoop, Hive, Spark 등에 의존하지 않지만 실행하는 작업이 이에 의존해야 하는 경우 해당 환경 지원이 필요합니다.

3. 업로드

바이너리 패키지를 업로드하고 특정 디렉터리에 추출하면 특정 디렉터리 위치를 직접 결정할 수 있습니다.

디렉터리 이름에 주의하세요. 설치 디렉터리와 바이너리 패키지 압축 해제 디렉터리는 서로 다른 이름을 가져야 합니다.

tar -xvf apache-dolphinscheduler-3.1.7-bin.tar.gz
mv apache-dolphinscheduler-3.1.7-bin dolphinscheduler-3.1.7-origin

다음 -origin은 이것이 원래 바이너리 패키지 압축 해제 파일임을 나타냅니다. 후속 구성 변경이 있는 경우 디렉터리의 파일을 수정하고 설치 스크립트를 다시 실행할 수 있습니다.

4. 사용자

4.1. 사용자 비밀번호 면제 및 권한 구성

배포 사용자를 생성하고 sudo 비밀번호를 사용하지 않도록 구성하십시오. 예를 들어 돌고래스케줄러 사용자를 생성해 보겠습니다.

# 创建用户需使用 root 登录
useradd dolphinscheduler

# 添加密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler

# 配置 sudo 免密
sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers

# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin

알아채다:

  • 작업 실행 서비스는 sudo -u {linux-user}를 사용하여 여러 Linux 사용자 간에 전환하여 다중 테넌트 실행 작업을 구현하므로 배포 사용자는 sudo 권한이 있어야 하며 암호가 없습니다. 초보자가 이해하지 못한다면 이 점을 일시적으로 무시해도 됩니다.
  • /etc/sudoers 파일에서 "Defaults requirett" 줄을 찾으면 해당 줄도 주석 처리해 주세요.

4.2. 머신 SSH 비밀번호 없는 로그인 구성

설치 중에 리소스를 다른 시스템으로 전송해야 하므로 각 시스템 간에 SSH 비밀번호 없는 로그인이 필요합니다. 비밀번호 없는 로그인을 구성하는 단계는 다음과 같습니다.

su dolphinscheduler

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 一定要执行下面这个命令,否则免密登录会失败
chmod 600 ~/.ssh/authorized_keys

참고: 구성이 완료된 후 명령을 실행하여 ssh localhost성공 여부를 확인할 수 있습니다. 비밀번호를 입력하지 않고 SSH를 통해 로그인할 수 있으면 성공한 것입니다.

5. 사육사 시작

클러스터에서 사육사를 시작하십시오.

6. 구성 수정

다음 작업은 모두 DolphinScheduler 사용자로 수행됩니다.

기본 환경 준비가 완료되면, 머신 환경에 맞게 설정 파일을 수정해야 합니다. 구성 파일은 bin/env 디렉터리에서 찾을 수 있으며, 와 install_env.sh입니다 dolphinscheduler_env.sh.

6.1. install_env.sh

install_env.sh파일은 DolphinScheduler가 설치될 시스템과 각 시스템에 설치될 서비스를 구성합니다. 경로에서 이 파일을 찾은 bin/env/다음 아래 지침에 따라 해당 구성을 수정할 수 있습니다.

# ---------------------------------------------------------
# INSTALL MACHINE
# ---------------------------------------------------------
# A comma separated list of machine hostname or IP would be installed DolphinScheduler,
# including master, worker, api, alert. If you want to deploy in pseudo-distributed
# mode, just write a pseudo-distributed hostname
# Example for hostnames: ips="ds1,ds2,ds3,ds4,ds5", Example for IPs: ips="192.168.8.1,192.168.8.2,192.168.8.3,192.168.8.4,192.168.8.5"
# 配置海豚调度器要安装到那些机器上
ips=${ips:-"ds01,ds02,ds03,hadoop02,hadoop03,hadoop04,hadoop05,hadoop06,hadoop07,hadoop08"}

# Port of SSH protocol, default value is 22. For now we only support same port in all `ips` machine
# modify it if you use different ssh port
sshPort=${sshPort:-"22"}

# A comma separated list of machine hostname or IP would be installed Master server, it
# must be a subset of configuration `ips`.
# Example for hostnames: masters="ds1,ds2", Example for IPs: masters="192.168.8.1,192.168.8.2"
# 配置 master 角色要安装到哪些机器上
masters=${masters:-"ds01,ds02,ds03,hadoop04,hadoop05,hadoop06,hadoop07,hadoop08"}

# A comma separated list of machine <hostname>:<workerGroup> or <IP>:<workerGroup>.All hostname or IP must be a
# subset of configuration `ips`, And workerGroup have default value as `default`, but we recommend you declare behind the hosts
# Example for hostnames: workers="ds1:default,ds2:default,ds3:default", Example for IPs: workers="192.168.8.1:default,192.168.8.2:default,192.168.8.3:default"
# 配置 worker 角色要安装到哪些机器上,默认都放到 default 的 worker 分组内,其他分组,可以通过海豚调度器界面进行单独配置
workers=${workers:-"ds01:default,ds02:default,ds03:default,hadoop02:default,hadoop03:default,hadoop04:default,hadoop05:default,hadoop06:default,hadoop07:default,hadoop08:default"}

# A comma separated list of machine hostname or IP would be installed Alert server, it
# must be a subset of configuration `ips`.
# Example for hostname: alertServer="ds3", Example for IP: alertServer="192.168.8.3"
# 配置 alert 角色安装到哪个机器上,配置一台机器即可
alertServer=${alertServer:-"hadoop03"}

# A comma separated list of machine hostname or IP would be installed API server, it
# must be a subset of configuration `ips`.
# Example for hostname: apiServers="ds1", Example for IP: apiServers="192.168.8.1"
# 配置 api 角色安装到哪个机器上,配置一台机器即可
apiServers=${apiServers:-"hadoop04"}

# The directory to install DolphinScheduler for all machine we config above. It will automatically be created by `install.sh` script if not exists.
# Do not set this configuration same as the current path (pwd). Do not add quotes to it if you using related path.
# 配置安装路径,将会在所有海豚集群的机器上安装服务,一定要和上面解压的二进制包目录区分开,最好带上版本号,以方便后续的升级操作。
installPath=${installPath:-"/opt/dolphinscheduler-3.1.5"}

# The user to deploy DolphinScheduler for all machine we config above. For now user must create by yourself before running `install.sh`
# script. The user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled than the root directory needs
# to be created by this user
# 部署使用的用户,用上面自己新建的用户即可
deployUser=${deployUser:-"dolphinscheduler"}

# The root of zookeeper, for now DolphinScheduler default registry server is zookeeper.
# 配置注册到 zookeeper znode 名称,如果配置了多个海豚集群,则需要配置不同的名称
zkRoot=${zkRoot:-"/dolphinscheduler"}

6.2. 돌고래스케줄러_env.sh

이 파일은 사용되는 일부 환경을 구성하는 데 사용 bin/env/됩니다. 해당 구성을 수정하려면 다음 지침을 따르십시오.

# JDK 路径,一定要修改
export JAVA_HOME=${JAVA_HOME:-/usr/java/jdk1.8.0_202}

# 数据库类型,支持 mysql、postgresql
export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
# 连接 url,主要修改下面的 hostname,最后配置的是东八区
export SPRING_DATASOURCE_URL="jdbc:mysql://hostname:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
# 如果密码比较复杂,则需要前后使用英文单引号括起来
export SPRING_DATASOURCE_PASSWORD='xxxxxxxxxxxxx'

export SPRING_CACHE_TYPE=${SPRING_CACHE_TYPE:-none}
# 配置各角色 JVM 启动时使用的时区,默认为 -UTC,如果想要完全支持东八区,则设置为 -GMT+8
export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-GMT+8}
export MASTER_FETCH_COMMAND_NUM=${MASTER_FETCH_COMMAND_NUM:-10}

export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
# 配置使用的 zookeeper 地址
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-hadoop01:2181,hadoop02:2181,hadoop03:2181}

# 配置使用到的一些环境变量,按照自己的需要进行配置即可,所有需要的组件,都自己安装
export HADOOP_HOME=${HADOOP_HOME:-/opt/cloudera/parcels/CDH/lib/hadoop}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/etc/hadoop/conf}
export SPARK_HOME1=${SPARK_HOME1:-/opt/soft/spark1}
export SPARK_HOME2=${SPARK_HOME2:-/opt/spark-3.3.2}
export PYTHON_HOME=${PYTHON_HOME:-/opt/python-3.9.16}
export HIVE_HOME=${HIVE_HOME:-/opt/cloudera/parcels/CDH/lib/hive}
export FLINK_HOME=${FLINK_HOME:-/opt/flink-1.15.3}
export DATAX_HOME=${DATAX_HOME:-/opt/datax}
export SEATUNNEL_HOME=${SEATUNNEL_HOME:-/opt/seatunnel-2.1.3}
export CHUNJUN_HOME=${CHUNJUN_HOME:-/opt/soft/chunjun}

export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:$SEATUNNEL_HOME/bin:$CHUNJUN_HOME/bin:$PATH

6.3. 공통.속성

hdfs-site.xml 자신의 hadoop 클러스터에서 및 파일을 다운로드한 core-site.xml다음 api-server/conf/worker-server/conf/디렉토리에 넣습니다. 직접 구축한 Apache의 기본 클러스터인 경우 각 구성 요소의 conf 디렉터리에서 찾을 수 있습니다. CDH인 경우 CDH 인터페이스를 통해 직접 다운로드할 수 있습니다.

api-server/conf/및 디렉토리에서 이 파일을 수정하세요 worker-server/conf/. 이 파일은 주로 돌고래 리소스를 HDFS에 업로드하는 등 리소스 업로드와 관련된 매개 변수를 구성하는 데 사용됩니다. 다음 지침에 따라 수정하세요.

# 本地路径,主要用来存放任务运行时的临时文件,要保证用户对该文件具有读写权限,一般保持默认即可,如果后续任务运行报错说是对该目录下的文件没有操作权限,直接将该目录权限修改为 777 即可
data.basedir.path=/tmp/dolphinscheduler

# resource view suffixs
#resource.view.suffixs=txt,log,sh,bat,conf,cfg,py,java,sql,xml,hql,properties,json,yml,yaml,ini,js

# 保存资源的地方,可用值为: HDFS, S3, OSS, NONE
resource.storage.type=HDFS
# 资源上传的基本路径,必须以 /dolphinscheduler 开头,要保证用户对该目录有读写权限
resource.storage.upload.base.path=/dolphinscheduler

# The AWS access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
resource.aws.access.key.id=minioadmin
# The AWS secret access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
resource.aws.secret.access.key=minioadmin
# The AWS Region to use. if resource.storage.type=S3 or use EMR-Task, This configuration is required
resource.aws.region=cn-north-1
# The name of the bucket. You need to create them by yourself. Otherwise, the system cannot start. All buckets in Amazon S3 share a single namespace; ensure the bucket is given a unique name.
resource.aws.s3.bucket.name=dolphinscheduler
# You need to set this parameter when private cloud s3. If S3 uses public cloud, you only need to set resource.aws.region or set to the endpoint of a public cloud such as S3.cn-north-1.amazonaws.com.cn
resource.aws.s3.endpoint=http://localhost:9000

# alibaba cloud access key id, required if you set resource.storage.type=OSS
resource.alibaba.cloud.access.key.id=<your-access-key-id>
# alibaba cloud access key secret, required if you set resource.storage.type=OSS
resource.alibaba.cloud.access.key.secret=<your-access-key-secret>
# alibaba cloud region, required if you set resource.storage.type=OSS
resource.alibaba.cloud.region=cn-hangzhou
# oss bucket name, required if you set resource.storage.type=OSS
resource.alibaba.cloud.oss.bucket.name=dolphinscheduler
# oss bucket endpoint, required if you set resource.storage.type=OSS
resource.alibaba.cloud.oss.endpoint=https://oss-cn-hangzhou.aliyuncs.com

# if resource.storage.type=HDFS, the user must have the permission to create directories under the HDFS root path
resource.hdfs.root.user=hdfs
# if resource.storage.type=S3, the value like: s3a://dolphinscheduler; if resource.storage.type=HDFS and namenode HA is enabled, you need to copy core-site.xml and hdfs-site.xml to conf dir
# 
resource.hdfs.fs.defaultFS=hdfs://bigdata:8020

# whether to startup kerberos
hadoop.security.authentication.startup.state=false

# java.security.krb5.conf path
java.security.krb5.conf.path=/opt/krb5.conf

# login user from keytab username
[email protected]

# login user from keytab path
login.user.keytab.path=/opt/hdfs.headless.keytab

# kerberos expire time, the unit is hour
kerberos.expire.time=2


# resourcemanager port, the default value is 8088 if not specified
resource.manager.httpaddress.port=8088
# if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty
yarn.resourcemanager.ha.rm.ids=hadoop02,hadoop03
# if resourcemanager HA is enabled or not use resourcemanager, please keep the default value; If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname
yarn.application.status.address=http://ds1:%s/ws/v1/cluster/apps/%s
# job history status url when application number threshold is reached(default 10000, maybe it was set to 1000)
yarn.job.history.status.address=http://hadoop02:19888/ws/v1/history/mapreduce/jobs/%s

# datasource encryption enable
datasource.encryption.enable=false

# datasource encryption salt
datasource.encryption.salt=!@#$%^&*

# data quality option
data-quality.jar.name=dolphinscheduler-data-quality-dev-SNAPSHOT.jar

#data-quality.error.output.path=/tmp/data-quality-error-data

# Network IP gets priority, default inner outer

# Whether hive SQL is executed in the same session
support.hive.oneSession=false

# use sudo or not, if set true, executing user is tenant user and deploy user needs sudo permissions; if set false, executing user is the deploy user and doesn't need sudo permissions
sudo.enable=true
setTaskDirToTenant.enable=false

# network interface preferred like eth0, default: empty
#dolphin.scheduler.network.interface.preferred=

# network IP gets priority, default: inner outer
#dolphin.scheduler.network.priority.strategy=default

# system env path
#dolphinscheduler.env.path=dolphinscheduler_env.sh

# development state
development.state=false

# rpc port
alert.rpc.port=50052

# set path of conda.sh
conda.path=/opt/anaconda3/etc/profile.d/conda.sh

# Task resource limit state
task.resource.limit.state=false

# mlflow task plugin preset repository
ml.mlflow.preset_repository=https://github.com/apache/dolphinscheduler-mlflow
# mlflow task plugin preset repository version
ml.mlflow.preset_repository_version="main"

6.4. application.yaml

master-server/conf/application.yaml, Worker-server/conf/application.yaml, api-server/conf/application.yaml, Alert-를 포함한 모든 역할에서 /conf/application.yaml 파일을 수정해야 합니다. server/conf /application.yaml에서 주요 수정 사항은 시간대 설정이며 구체적인 수정 사항은 다음과 같습니다.

spring:
  banner:
    charset: UTF-8
  jackson:
    # 将时区设置为东八区,只修改这一个地方即可
    time-zone: GMT+8
    date-format: "yyyy-MM-dd HH:mm:ss"

6.5. service.57a50399.js 및 service.57a50399.js.gz

이 두 파일은 api-server/ui/assets/ui/assets/디렉토리에 있습니다.

이 두 디렉터리로 각각 전환한 다음 이 두 파일을 각각 찾은 다음 vim 명령으로 연 다음 15e3을 검색하고 찾은 후 15e5로 변경합니다. 이는 페이지 응답 시간 초과를 변경합니다. 기본값 15e3은 15초를 의미합니다. 대용량 파일을 업로드할 때 페이지 시간 초과로 인해 오류가 보고되지 않습니다.

파일

7. 데이터베이스 초기화

드라이버 구성

api-server/libs, alert-server/libs, master-server/libs, worker-server/libs, 를 포함하여 Dolphin 스케줄러의 각 역할에 대한 lib 디렉터리에 mysql 드라이버(8.x)를 복사합니다 tools/libs.

데이터베이스 사용자

mysql에 루트 사용자로 로그인한 후 다음 sql을 실행합니다. mysql5와 mysql8은 모두 지원합니다.

create database `dolphinscheduler` character set utf8mb4 collate utf8mb4_general_ci;
create user 'dolphinscheduler'@'%' IDENTIFIED WITH mysql_native_password by 'your_password';
grant ALL PRIVILEGES ON dolphinscheduler.* to 'dolphinscheduler'@'%';
flush privileges;

데이터베이스 업그레이드 스크립트를 실행합니다.

bash tools/bin/upgrade-schema.sh

8. 설치

bash ./bin/install.sh

이 스크립트를 실행하면 scp를 통해 위의 구성 파일에 구성된 모든 시스템에 모든 로컬 파일이 원격으로 전송된 다음 해당 시스템에서 역할이 중지되고 모든 시스템에서 역할이 시작됩니다.

첫 번째 설치 후 모든 역할이 시작되므로 별도로 역할을 시작할 필요가 없습니다. 역할이 시작되지 않은 경우 해당 머신에서 해당 로그를 확인하여 문제의 원인을 확인할 수 있습니다.

9. 서비스 시작 및 중지

# 一键停止集群所有服务
bash ./bin/stop-all.sh

# 一键开启集群所有服务
bash ./bin/start-all.sh

# 启停 Master
bash ./bin/dolphinscheduler-daemon.sh stop master-server
bash ./bin/dolphinscheduler-daemon.sh start master-server

# 启停 Worker
bash ./bin/dolphinscheduler-daemon.sh start worker-server
bash ./bin/dolphinscheduler-daemon.sh stop worker-server

# 启停 Api
bash ./bin/dolphinscheduler-daemon.sh start api-server
bash ./bin/dolphinscheduler-daemon.sh stop api-server

# 启停 Alert
bash ./bin/dolphinscheduler-daemon.sh start alert-server
bash ./bin/dolphinscheduler-daemon.sh stop alert-server

이러한 스크립트는 Dolphin Scheduler를 설치한 사용자가 실행해야 하며 그렇지 않으면 일부 권한 문제가 발생할 수 있다는 점에 유의하는 것이 중요합니다.

각 서비스에는 마이크로서비스 요구 사항을 용이하게 하기 위한 파일이 경로에 <service>/conf/dolphinscheduler_env.sh있습니다 . dolphinscheduler_env.sh이는 해당 서비스에서 이를 구성한 <service>/conf/dolphinscheduler_env.sh다음 <service>/bin/start.sh명령을 사용하여 다양한 환경 변수를 기반으로 각 서비스를 시작할 수 있음을 의미합니다. 그러나 명령을 사용하여 /bin/dolphinscheduler-daemon.sh start <service>서버를 시작 하면 파일을 bin/env/dolphinscheduler_env.sh덮어쓴 <service>/conf/dolphinscheduler_env.sh다음 서비스를 시작합니다. 이는 사용자가 구성을 수정하는 데 드는 비용을 줄이기 위한 것입니다.

10. 확장

10.1. 표준 접근법

위의 단계를 참고하여 다음과 같이 진행하세요.

  1. 새 노드
    1. JDK를 설치하고 구성합니다.
    2. 새로운 Dolphin 사용자(Linux 사용자)를 생성한 후 비밀번호 없는 로그인, 권한 등을 구성하세요.
  2. Dolphin 스케줄러를 설치하기 전에 바이너리 설치 패키지가 추출된 머신에서.
    1. Dolphin을 설치한 사용자로 로그인합니다.
    2. Dolphin Scheduler의 이전 설치로 전환하는 경우 바이너리 설치 패키지의 압축을 풀고 구성 파일을 수정합니다. bin/env/install_env.sh구성 파일에서 새 노드에 배포해야 하는 역할을 수정합니다.
    3. /bin/install.sh설치할 파일을 실행합니다 . 스크립트는 bin/env/install_env.sh파일의 구성에 따라 전체 디렉터리를 모든 컴퓨터에 재배치한 scp다음 모든 컴퓨터에서 역할을 중지하고 모든 역할을 다시 시작합니다.

이 방법의 단점: Dolphin 스케줄러에 분 단위 작업이 많거나 Flink, Spark 등 실시간 작업이 있는 경우 이 작업을 수행하면 모든 역할을 중지한 다음 시작하므로 일정 시간이 소요됩니다. 이 기간에는 전체 클러스터의 재시작으로 인해 이러한 작업이 비정상적으로 중지되거나 정상적으로 예약되지 않을 수 있습니다. 하지만 돌핀 스케줄러 자체적으로 자동 내결함성, 재해 복구 등의 기능을 구현하고 있기 때문에 이를 수행하고 최종적으로 모든 작업이 정상적으로 실행되는지 관찰할 수 있습니다.

10.2. 쉬운 방법

위의 단계를 참고하여 다음과 같이 진행하세요.

  1. 새 노드
    1. JDK를 설치하고 구성합니다.
    2. 새로운 Dolphin 사용자(Linux 사용자)를 생성한 후 비밀번호 없는 로그인, 권한 등을 구성하세요.
  2. Dolphin 스케줄러를 설치하기 전에 바이너리 설치 패키지가 추출된 머신에서.
    1. Dolphin을 설치한 사용자로 로그인합니다.
    2. 이전에 구성이 수정된 디렉터리 전체를 직접 압축한 후 새 노드로 전송합니다.
  3. 새 노드
    1. 새 노드에서 파일의 압축을 풀고 bin/env/install_env.sh이전 구성 파일에 구성된 설치 디렉터리로 이름을 바꿉니다.
    2. Dolphin을 설치한 사용자로 로그인합니다.
    3. 새 노드에 배포해야 하는 역할을 시작합니다. 특정 스크립트 위치는 이고 /bin/dolphinscheduler-daemon.sh시작 명령은 다음과 같습니다.
./dolphinscheduler-daemon.sh start master-server
./dolphinscheduler-daemon.sh start worker-server
  1. Dolphin Scheduler 인터페이스에 로그인한 후 "모니터링 센터"에서 해당 역할이 새 노드에서 시작되는지 관찰합니다.

11. 축소

  1. 오프라인이어야 하는 머신에서 /bin/dolphinscheduler-daemon.sh스크립트를 통해 머신의 모든 역할을 중지합니다.
./dolphinscheduler-daemon.sh stop worker-server
  1. 돌핀 스케줄러 인터페이스에 로그인한 후 '모니터링 센터'에서 기기에서 정지된 캐릭터가 사라졌는지 관찰하세요.
  2. 이전에 Dolphin Scheduler를 설치할 때 바이너리 설치 패키지의 압축을 푼 시스템에서
  3. Dolphin을 설치한 사용자로 로그인합니다.
  4. 구성 파일 수정: bin/env/install_env.sh이 구성 파일에서 오프라인 역할에 해당하는 머신을 삭제합니다.

12. 업그레이드

위의 단계에 따라 단계별로 작업을 수행하십시오. 이미 수행된 작업의 경우 두 번째 작업을 수행할 필요가 없습니다. 구체적인 단계는 다음과 같습니다.

  1. 새 바이너리 패키지를 업로드합니다.
  2. 이전 버전 설치 디렉터리가 아닌 다른 디렉터리에 압축을 풀거나 이름을 바꾸세요.
  3. 구성 파일을 수정하는 비교적 간단한 방법은 위 단계에 포함된 모든 구성 파일을 이전에 설치된 디렉터리에서 새 버전 디렉터리로 복사하고 바꾸는 것입니다.
  4. 다른 노드에 배포된 모든 구성 요소를 압축한 다음 압축을 풀고 새 노드의 해당 위치에 넣습니다. 복사해야 하는 특정 구성 요소의 경우 Dolphinscheduler_env.sh 파일에서 구성을 볼 수 있습니다.
  5. 드라이버를 구성하려면 "데이터베이스 초기화"의 단계를 참조하십시오.
  6. 이전 클러스터를 중지합니다.
  7. 전체 데이터베이스를 백업합니다.
  8. 데이터베이스 업그레이드 스크립트를 실행하고 "데이터베이스 초기화" 단계를 참조하세요.
  9. 설치 스크립트를 실행하려면 "설치"를 참고하세요.
  10. 업그레이드가 완료된 후 인터페이스에 로그인하고 "모니터링 센터"를 확인하여 모든 역할이 성공적으로 시작되었는지 확인하세요.

재인쇄시에는 출처를 꼭 밝혀주세요. 모두가 함께 기술에 대해 토론하는 것을 환영합니다. 잘못된 것이 있으면 함께 토론하십시오.

원본 링크: https://blog.csdn.net/u012443641/article/details/131419391

이 기사는 Beluga Open Source Technology 에서 출판되었습니다 !

Linus는 커널 개발자가 탭을 공백으로 대체하는 것을 막기 위해 문제를 직접 해결했습니다. 그의 아버지는 코드를 작성할 수 있는 몇 안 되는 리더 중 한 명이고, 둘째 아들은 오픈 소스 기술 부서의 책임자이며, 막내 아들은 핵심입니다. Huawei: 일반적으로 사용되는 모바일 애플리케이션 5,000개를 변환하는 데 1년이 걸렸습니다. Hongmeng으로의 포괄적인 마이그레이션 Java는 타사 취약점에 가장 취약한 언어입니다. Hongmeng의 아버지인 Wang Chenglu: 오픈 소스 Hongmeng은 유일한 아키텍처 혁신입니다. 중국 기초 소프트웨어 분야의 마화텅(Ma Huateng)과 저우홍이(Zhou Hongyi)가 악수를 하며 "원한을 풀다" 전 마이크로소프트 개발자: 윈도우 11 성능은 "터무니없을 정도로 나쁘다" 라오샹지가 오픈소스인 것은 코드는 아니지만 그 이유는 다음과 같다. Google이 대규모 구조 조정을 발표 했습니다 .
{{o.이름}}
{{이름}}

추천

출처my.oschina.net/dailidong/blog/11054375