Verabschieden Sie sich von der manuellen Planung, die Clusterbereitstellung von Dolphin Scheduler 3.1.x ermöglicht Ihnen die einfache Verwaltung mehrerer Maschinen!

Datei

Nachdruck vom ersten Stück Herz

1. Einleitung

Da das Cluster-Bereitstellungsdokument des Dolphin Scheduling Organ Network chaotisch geschrieben ist und Sie während des Installationsprozesses für den Betrieb zu vielen Stellen springen müssen, habe ich ein Dokument zusammengefasst, dem Sie direkt von Anfang bis Ende folgen können, um die spätere Arbeit zu erleichtern Bereitstellung und Upgrades, verwandte Vorgänge zum Hinzufügen und Reduzieren von Knoten.

2. Bereiten Sie sich im Voraus vor

2.1. Grundkomponenten

  • JDK: Laden Sie JDK (1.8+) herunter, installieren und konfigurieren Sie die Umgebungsvariable JAVA_HOME und hängen Sie das darunter liegende bin-Verzeichnis an die Umgebungsvariable PATH an. Wenn es in Ihrer Umgebung bereits vorhanden ist, können Sie diesen Schritt überspringen.
  • Binärpaket: Laden Sie das DolphinScheduler-Binärpaket auf der Download-Seite herunter
  • Datenbank: PostgreSQL (8.2.15+) oder MySQL (5.7+), Sie können eine von beiden auswählen. MySQL erfordert beispielsweise die JDBC-Treiberversion 8, die vom Central Warehouse heruntergeladen werden kann.
  • Registrierungszentrum: ZooKeeper (3.4.6+), Download-Adresse.
  • Prozessbaumanalyse
    • macOS installiert pstree
    • Fedora/Red/Hat/CentOS/Ubuntu/Debian installieren psmisc.

Hinweis: DolphinScheduler selbst ist nicht auf Hadoop, Hive, Spark usw. angewiesen. Wenn die von Ihnen ausgeführten Aufgaben jedoch darauf angewiesen sind, benötigen Sie entsprechende Umgebungsunterstützung.

3. Hochladen

Laden Sie das Binärpaket hoch und extrahieren Sie es in ein bestimmtes Verzeichnis. Sie können den spezifischen Verzeichnisspeicherort selbst bestimmen.

Achten Sie auf den Verzeichnisnamen. Fügen Sie am besten einige Zeichen hinzu. Das Installationsverzeichnis und das Dekomprimierungsverzeichnis des Binärpakets müssen unterschiedliche Namen haben.

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

Das folgende -origin gibt an, dass es sich um die ursprüngliche Dekomprimierungsdatei des Binärpakets handelt. Bei späteren Konfigurationsänderungen können Sie die Dateien im Verzeichnis ändern und das Installationsskript erneut ausführen.

4. Benutzer

4.1. Konfigurieren Sie die Ausnahme und Berechtigungen von Benutzerkennwörtern

Erstellen Sie einen Bereitstellungsbenutzer und konfigurieren Sie sudo unbedingt passwortfrei. Nehmen Sie als Beispiel die Erstellung des Dolphinscheduler-Benutzers:

# 创建用户需使用 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

Beachten:

  • Da der Aufgabenausführungsdienst sudo -u {linux-user} verwendet, um zwischen verschiedenen Linux-Benutzern zu wechseln, um mehrinstanzenfähige laufende Jobs zu implementieren, muss der Bereitstellungsbenutzer über Sudo-Berechtigungen verfügen und ist kennwortfrei. Wenn Anfänger es nicht verstehen, können sie diesen Punkt vorübergehend ignorieren.
  • Wenn Sie die Zeile „Defaults requirett“ in der Datei /etc/sudoers finden, kommentieren Sie sie bitte ebenfalls aus.

4.2. Konfigurieren Sie die passwortfreie SSH-Anmeldung der Maschine

Da während der Installation Ressourcen an verschiedene Maschinen gesendet werden müssen, ist zwischen den einzelnen Maschinen eine kennwortfreie SSH-Anmeldung erforderlich. Die Schritte zum Konfigurieren der passwortfreien Anmeldung sind wie folgt:

su dolphinscheduler

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

Hinweis: Nachdem die Konfiguration abgeschlossen ist, können Sie den Befehl ausführen, ssh localhostum festzustellen, ob sie erfolgreich ist. Wenn Sie sich über SSH anmelden können, ohne ein Passwort einzugeben, ist sie erfolgreich.

5. Starten Sie zookeeper

Starten Sie einfach zookeeper im Cluster.

6. Konfiguration ändern

Alle folgenden Vorgänge werden unter dem Benutzer Dolphinscheduler ausgeführt.

Nachdem Sie die Vorbereitung der Basisumgebung abgeschlossen haben, müssen Sie die Konfigurationsdatei entsprechend Ihrer Maschinenumgebung ändern. Konfigurationsdateien finden Sie im Verzeichnis bin/env, sie sind install_env.shund dolphinscheduler_env.sh.

6.1. install_env.sh

install_env.shDie Datei konfiguriert, auf welchen Computern DolphinScheduler installiert wird und welche Dienste auf den einzelnen Computern installiert werden. Sie können diese Datei im Pfad finden bin/env/und dann die entsprechende Konfiguration gemäß den folgenden Anweisungen ändern.

# ---------------------------------------------------------
# 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. Dolphinscheduler_env.sh

Diese Datei befindet bin/env/sich im Pfad. Diese Datei wird zum Konfigurieren einiger verwendeter Umgebungen verwendet. Befolgen Sie einfach die folgenden Anweisungen, um die entsprechende Konfiguration zu ändern:

# 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. common.properties

Laden Sie hdfs-site.xml die „and“ core-site.xml-Dateien von Ihrem eigenen Hadoop-Cluster herunter und legen Sie sie dann im api-server/conf/„and“ worker-server/conf/-Verzeichnis ab. Wenn es sich um einen von Ihnen selbst erstellten nativen Apache-Cluster handelt, können Sie ihn im conf-Verzeichnis jeder Komponente finden. Wenn es sich um CDH handelt, können Sie ihn direkt über die CDH-Schnittstelle herunterladen.

Ändern Sie diese Datei im api-server/conf/und worker-server/conf/-Verzeichnis. Diese Datei wird hauptsächlich zum Konfigurieren von Parametern im Zusammenhang mit dem Hochladen von Ressourcen verwendet, z. B. zum Hochladen von Dolphin-Ressourcen in HDFS usw. Ändern Sie sie einfach gemäß den folgenden Anweisungen:

# 本地路径,主要用来存放任务运行时的临时文件,要保证用户对该文件具有读写权限,一般保持默认即可,如果后续任务运行报错说是对该目录下的文件没有操作权限,直接将该目录权限修改为 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

Sie müssen die /conf/application.yaml-Dateien unter allen Rollen ändern, einschließlich: master-server/conf/application.yaml, worker-server/conf/application.yaml, api-server/conf/application.yaml, Alert- server/conf /application.yaml, die Hauptänderung ist die Zeitzoneneinstellung, die spezifischen Änderungen sind wie folgt:

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

6.5. service.57a50399.js und service.57a50399.js.gz

Diese beiden Dateien befinden sich in api-server/ui/assets/den ui/assets/Verzeichnissen und.

Wechseln Sie jeweils in diese beiden Verzeichnisse, suchen Sie dann diese beiden Dateien, öffnen Sie sie dann mit dem Befehl vim, suchen Sie nach 15e3 und ändern Sie sie, nachdem Sie sie gefunden haben, in 15e5. Dadurch wird das Seitenantwort-Timeout geändert. Der Standardwert beträgt 15 Sekunden. Beim Hochladen großer Dateien wird kein Fehler gemeldet.

Datei

7. Initialisieren Sie die Datenbank

Treiberkonfiguration

Kopieren Sie den MySQL-Treiber (8.x) in das lib-Verzeichnis jeder Rolle des Dolphin-Schedulers, einschließlich: api-server/libs, alert-server/libs, master-server/libs, worker-server/libs, tools/libs.

Datenbankbenutzer

Melden Sie sich als Root-Benutzer bei MySQL an und führen Sie dann Folgendes aus: MySQL5- und MySQL8-Unterstützung:

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;

Datenbank-Upgrade-Skript ausführen:

bash tools/bin/upgrade-schema.sh

8. Installation

bash ./bin/install.sh

Durch die Ausführung dieses Skripts werden alle lokalen Dateien über scp remote auf alle in der Konfigurationsdatei oben konfigurierten Computer übertragen, dann werden die Rollen auf den entsprechenden Computern gestoppt und dann die Rollen auf allen Computern gestartet.

Nach der ersten Installation wurden alle Rollen gestartet und es besteht keine Notwendigkeit, jede Rolle separat zu starten. Wenn Rollen nicht gestartet werden, können Sie die entsprechenden Protokolle auf dem entsprechenden Computer überprüfen, um festzustellen, was das Problem verursacht.

9. Dienste starten und stoppen

# 一键停止集群所有服务
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

Es ist wichtig zu beachten, dass diese Skripte von dem Benutzer ausgeführt werden müssen, der den Dolphin Scheduler installiert hat, da es sonst zu Berechtigungsproblemen kommt.

Jeder Dienst <service>/conf/dolphinscheduler_env.shverfügt über dolphinscheduler_env.shDateien im Pfad, um die Microservice-Anforderungen zu erfüllen. Dies bedeutet, dass Sie es im entsprechenden Dienst konfigurieren <service>/conf/dolphinscheduler_env.shund dann <service>/bin/start.shBefehle verwenden können, um jeden Dienst basierend auf verschiedenen Umgebungsvariablen zu starten. Wenn Sie jedoch den Befehl /bin/dolphinscheduler-daemon.sh start <service>zum Starten des Servers verwenden, wird die Datei bin/env/dolphinscheduler_env.shüberschrieben <service>/conf/dolphinscheduler_env.shund dann der Dienst gestartet. Dies geschieht, um die Kosten für Benutzer zum Ändern der Konfiguration zu reduzieren.

10. Erweiterung

10.1. Standardansatz

Beachten Sie die oben genannten Schritte und gehen Sie wie folgt vor:

  1. neuer Knoten
    1. JDK installieren und konfigurieren.
    2. Erstellen Sie einen neuen Dolphin-Benutzer (Linux-Benutzer) und konfigurieren Sie dann die passwortfreie Anmeldung, Berechtigungen usw.
  2. Auf dem Computer, auf dem das binäre Installationspaket vor der Installation des Dolphin-Planers extrahiert wurde.
    1. Melden Sie sich als der Benutzer an, der Dolphin installiert hat.
    2. Wenn Sie zur vorherigen Installation des Dolphin Schedulers wechseln, entpacken Sie das binäre Installationspaket und ändern Sie die Konfigurationsdatei: bin/env/install_env.shÄndern Sie in der Konfigurationsdatei die Rollen, die auf dem neuen Knoten bereitgestellt werden müssen.
    3. Führen Sie /bin/install.shdie zu installierende Datei aus. Das Skript verschiebt bin/env/install_env.shdas gesamte Verzeichnis entsprechend der Konfiguration in der Datei auf alle Computer, scpstoppt dann die Rollen auf allen Computern und startet dann alle Rollen erneut.

Nachteile dieser Methode: Wenn der Dolphin-Scheduler viele Aufgaben auf Minutenebene oder Echtzeitaufgaben wie Flink und Spark enthält, werden bei diesem Vorgang alle Rollen gestoppt und dann gestartet, was eine gewisse Zeit in Anspruch nehmen wird In diesem Zeitraum werden diese Aufgaben aufgrund des Neustarts des gesamten Clusters möglicherweise abnormal gestoppt oder nicht normal geplant. Der Dolphin-Scheduler selbst implementiert jedoch Funktionen wie automatische Fehlertoleranz und Notfallwiederherstellung, sodass Sie dies tun und schließlich beobachten können, ob alle Aufgaben normal ausgeführt werden.

10.2. Der einfache Weg

Beachten Sie die oben genannten Schritte und gehen Sie wie folgt vor:

  1. neuer Knoten
    1. JDK installieren und konfigurieren.
    2. Erstellen Sie einen neuen Dolphin-Benutzer (Linux-Benutzer) und konfigurieren Sie dann die passwortfreie Anmeldung, Berechtigungen usw.
  2. Auf dem Computer, auf dem das binäre Installationspaket vor der Installation des Dolphin-Planers extrahiert wurde.
    1. Melden Sie sich als der Benutzer an, der Dolphin installiert hat.
    2. Komprimieren Sie direkt das gesamte Verzeichnis, in dem die Konfiguration zuvor geändert wurde, und übertragen Sie es dann auf den neuen Knoten.
  3. neuer Knoten
    1. Entpacken Sie die Datei auf dem neuen Knoten und benennen Sie sie in bin/env/install_env.shdas in der vorherigen Konfigurationsdatei konfigurierte Installationsverzeichnis um.
    2. Melden Sie sich als der Benutzer an, der Dolphin installiert hat.
    3. Starten Sie, welche Rollen auf dem neuen Knoten bereitgestellt werden müssen. Der spezifische Skriptspeicherort lautet: /bin/dolphinscheduler-daemon.shund der Startbefehl lautet:
./dolphinscheduler-daemon.sh start master-server
./dolphinscheduler-daemon.sh start worker-server
  1. Melden Sie sich an der Dolphin Scheduler-Schnittstelle an und beobachten Sie dann im „Monitoring Center“, ob die entsprechende Rolle auf dem neuen Knoten gestartet wird.

11.Schrumpfen

  1. Stoppen Sie auf der Maschine, die offline sein muss, /bin/dolphinscheduler-daemon.shalle Rollen auf der Maschine über das Skript. Der Stoppbefehl lautet:
./dolphinscheduler-daemon.sh stop worker-server
  1. Melden Sie sich bei der Dolphin Scheduler-Schnittstelle an und beobachten Sie dann im „Überwachungscenter“, ob der auf dem Computer gestoppte Charakter verschwunden ist.
  2. Auf dem Computer, auf dem das binäre Installationspaket bei der vorherigen Installation des Dolphin Schedulers entpackt wurde
  3. Melden Sie sich als der Benutzer an, der Dolphin installiert hat.
  4. Ändern Sie die Konfigurationsdatei: bin/env/install_env.shLöschen Sie in dieser Konfigurationsdatei den Computer, der der Offline-Rolle entspricht.

12. Upgrade

Befolgen Sie die oben genannten Schritte und gehen Sie Schritt für Schritt vor. Für bereits durchgeführte Vorgänge ist kein zweiter Vorgang erforderlich. Hier sind einige spezifische Schritte:

  1. Laden Sie das neue Binärpaket hoch.
  2. Entpacken Sie es in ein anderes Verzeichnis als das Installationsverzeichnis der alten Version oder benennen Sie es um.
  3. Eine relativ einfache Möglichkeit, die Konfigurationsdatei zu ändern, besteht darin, alle an den obigen Schritten beteiligten Konfigurationsdateien aus dem zuvor installierten Verzeichnis in das neue Versionsverzeichnis zu kopieren und zu ersetzen.
  4. Packen Sie alle auf anderen Knoten bereitgestellten Komponenten, entpacken Sie sie und legen Sie sie am entsprechenden Speicherort des neuen Knotens ab. Für bestimmte Komponenten, die kopiert werden müssen, können Sie die Konfiguration in der Datei Dolphinscheduler_env.sh anzeigen.
  5. Um den Treiber zu konfigurieren, befolgen Sie die Schritte unter „Initialisieren der Datenbank“.
  6. Stoppen Sie den vorherigen Cluster.
  7. Sichern Sie die gesamte Datenbank.
  8. Führen Sie das Datenbank-Upgrade-Skript aus und befolgen Sie die Schritte unter „Initialisieren der Datenbank“.
  9. Informationen zum Ausführen des Installationsskripts finden Sie unter „Installation“.
  10. Melden Sie sich nach Abschluss des Upgrades an der Schnittstelle an und überprüfen Sie im „Monitoring Center“, ob alle Rollen erfolgreich gestartet wurden.

Bitte geben Sie beim Nachdruck des Dokuments die Quelle an. Jeder ist willkommen, gemeinsam über die Technologie zu diskutieren. Wenn etwas nicht stimmt, besprechen Sie es bitte gemeinsam.

Ursprünglicher Link: https://blog.csdn.net/u012443641/article/details/131419391

Dieser Artikel wurde von Beluga Open Source Technology veröffentlicht !

Linus nahm die Sache selbst in die Hand, um zu verhindern, dass Kernel-Entwickler Tabulatoren durch Leerzeichen ersetzen. Sein Vater ist einer der wenigen Führungskräfte, die Code schreiben können, sein zweiter Sohn ist Direktor der Open-Source-Technologieabteilung und sein jüngster Sohn ist ein Kern Mitwirkender bei Open Source: Es dauerte ein Jahr, 5.000 häufig verwendete mobile Anwendungen zu konvertieren. Java ist die Sprache, die am anfälligsten für Schwachstellen von Drittanbietern ist. Wang Chenglu, der Vater von Hongmeng: Open Source Hongmeng ist die einzige architektonische Innovation im Bereich der Basissoftware in China. Ma Huateng und Zhou Hongyi geben sich die Hand, um „den Groll zu beseitigen.“ Ehemaliger Microsoft-Entwickler: Die Leistung von Windows 11 ist „lächerlich schlecht“. sind sehr herzerwärmend . Meta Llama 3 wird offiziell veröffentlicht
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/dailidong/blog/11054375
Empfohlen
Rangfolge