Dolphinscheduler-3.2.0分布式集群详细部署

发布于:2025-06-01 ⋅ 阅读:(94) ⋅ 点赞:(0)

一、集群规划

主机名 ip 服务 系统 cpu 内存
node01 192.168.10.101 zookeeper-3.8.4、master、worker、apiserver、alertserver和MySQL8.0.26 Centos 7.9 4 9.6
node02 192.168.10.102 zookeeper-3.8.4、master和worker Centos 7.9 2 4
node03 192.168.10.103 zookeeper-3.8.4和worker Centos 7.9 2 4

二、集群安装与测试步骤

1、在node01创建免登录用户用于ds集群的安装

# 创建用户需使用root登录
useradd dolphinscheduler
# 添加密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
# 配置sudo(系统管理命令)免密
sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults   requirett/#Defaults   requirett/g' /etc/sudoers

2、做dolphinscheduler用户的免登录

[root@node01 ~]# su dolphinscheduler
[dolphinscheduler@node01 root]$ ssh-keygen -t rsa  #一路回车即可
[dolphinscheduler@node01 root]$ ssh-copy-id master  #密码为dolphinscheduler
#测试是否可以免登录自己
[dolphinscheduler@node01 root]$ ssh node01   #如果不需要输入密码则OK
#切回root用户进行后续操作
[dolphinscheduler@node01 ~]$ su
密码:        #输入root的用户密码

3、创建源数据库

[root@node01 dolphinscheduler]# mysql -uroot -p123456
-- 创建dolphinscheduler的元数据库,并指定编码
mysql> CREATE DATABASE dolphinscheduler2204 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

4、解压安装包

[root@node01 ~]# tar -zxvf /home/apache-dolphinscheduler-3.2.0-bin.tar.gz -C /home/
[root@node01 ~]# chown -R dolphinscheduler:dolphinscheduler /home/apache-dolphinscheduler-3.2.0-bin

5、配置install_env.sh

[root@node01 ~]# vi /home/apache-dolphinscheduler-3.2.0-bin/bin/env/install_env.sh

#修改如下内容
ips="node01,node02,node03"
sshPort="22"
masters="node01,node02"
workers="node01:default,node02:default,node03:default"
alertServer="node01"
apiServers="node01"
installPath=/usr/local/dolphinscheduler-3.2.0
deployUser="dolphinscheduler"
zkRoot="/dolphinscheduler2204"

6、配置dolphinscheduler_env.sh

[root@node01 ~]# vi /home/apache-dolphinscheduler-3.2.0-bin/bin/env/dolphinscheduler_env.sh

#文件末尾追加
export JAVA_HOME=${JAVA_HOME:-/usr/local/jdk-1.8.0}

export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=root
export SPRING_DATASOURCE_PASSWORD=123456

export SPRING_CACHE_TYPE=${SPRING_CACHE_TYPE:-none}
export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-UTC}
export MASTER_FETCH_COMMAND_NUM=${MASTER_FETCH_COMMAND_NUM:-10}
export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-node01:2181,node02:2181,node03:2181}

export HADOOP_HOME=${HADOOP_HOME:-/usr/local/hadoop-3.3.1}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/usr/local/hadoop-3.3.1/etc/hadoop}
export SPARK_HOME=${SPARK_HOME:-/usr/local/spark-3.5.3}
export PYTHON_LAUNCHER=${PYTHON_LAUNCHER:-/usr/bin/python}
export HIVE_HOME=${HIVE_HOME:-/usr/local/hive-3.1.2}
export FLINK_HOME=${FLINK_HOME:-/opt/soft/flink}
export DATAX_LAUNCHER=${DATAX_LAUNCHER:-/usr/local/datax/bin/datax.py}

export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_LAUNCHER:$PATH

7、添加mysql的依赖jar包拷贝到master-server、worker-server、api-server、alert-server和tools模块的libs目录中。
#添加mysql-8.0.26驱动依赖到/home
在这里插入图片描述

#复制到不同模块目录

[root@node01 ~]# cp /home/mysql-connector-java-8.0.26.jar /home/apache-dolphinscheduler-3.2.0-bin/master-server/libs/
[root@node01 ~]# cp /home/mysql-connector-java-8.0.26.jar /home/apache-dolphinscheduler-3.2.0-bin/worker-server/libs/
[root@node01 ~]# cp /home/mysql-connector-java-8.0.26.jar /home/apache-dolphinscheduler-3.2.0-bin/api-server/libs/
[root@node01 ~]# cp /home/mysql-connector-java-8.0.26.jar /home/apache-dolphinscheduler-3.2.0-bin/alert-server/libs/
[root@node01 ~]# cp /home/mysql-connector-java-8.0.26.jar /home/apache-dolphinscheduler-3.2.0-bin/tools/libs/

#初始化ds的元数据

[root@node01 ~]# sh /home/apache-dolphinscheduler-3.2.0-bin/tools/bin/upgrade-schema.sh
在这里插入图片描述

#查看元数据
在这里插入图片描述

8、配置master-server、worker-server、api-server、alert-server和tools模块下的conf目录下的application.yaml文件

[root@node01 ~]# vi /home/apache-dolphinscheduler-3.2.0-bin/master-server/conf/application.yaml

 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  username: root
  password: 123456

registry:
 type: zookeeper
 zookeeper:
  namespace: dolphinscheduler2204
  connect-string: node01:2181,node02:2181,node03:2181

max-cpu-load-avg: 3
reserved-memory: 0.1
max-waiting-time: 150s

 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  username: root
  password: 123456

[root@node01 ~]# vi /home/apache-dolphinscheduler-3.2.0-bin/worker-server/conf/application.yaml

registry:
 type: zookeeper
 zookeeper:
  namespace: dolphinscheduler2204
  connect-string: node01:2181,node02:2181,node03:2181
max-cpu-load-avg: 3
reserved-memory: 0.1
max-waiting-time: 150s

[root@node01 ~]# vi /home/apache-dolphinscheduler-3.2.0-bin/api-server/conf/application.yaml

datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  username: root
  password: 123456

registry:
 type: zookeeper
 zookeeper:
  namespace: dolphinscheduler2204
  connect-string: node01:2181,node02:2181,node03:2181

 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  username: root
  password: 123456

[root@node01 ~]# vi /home/apache-dolphinscheduler-3.2.0-bin/alert-server/conf/application.yaml

datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  username: root
  password: 123456

registry:
 type: zookeeper
 zookeeper:
  namespace: dolphinscheduler2204
  connect-string: node01:2181,node02:2181,node03:2181

 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  username: root
  password: 123456

[root@node01 ~]# vi /home/apache-dolphinscheduler-3.2.0-bin/tools/conf/application.yaml

 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  username: root
  password: 123456

 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true

9、安装ds集群(一定启动zk(zkServer.sh start)和mysql,并保障可用)

[root@node01 ~]# sh /home/apache-dolphinscheduler-3.2.0-bin/bin/install.sh

在这里插入图片描述

10、查看服务

[root@node01 ~]# jps
3377 MasterServer
3170 QuorumPeerMain
3714 Jps
3411 WorkerServer
3447 AlertServer
3481 ApiApplicationServer

[root@node02 ~]# jps
3042 Jps
2773 MasterServer
2805 WorkerServer
2622 QuorumPeerMain

[root@node03 ~]# jps
2546 QuorumPeerMain
2713 WorkerServer
2810 Jps

11、Web UI访问

访问地址:http://192.168.10.101:12345/dolphinscheduler/ui
默认用户名/密码:admin/dolphinscheduler123
在这里插入图片描述

12、查看监控中心
在这里插入图片描述
#问题,假设node02的master启动后挂掉,则查看对一个日志

[root@node02 ~]# tail -200 /usr/local/dolphinscheduler-3.2.0/master-server/logs/dolphinscheduler-master.log

#如果错误为zookeeper.connect.timeout等错误,重新单独启动挂掉的服务即可!!!

13、服务启动停止

#全启动
[root@node01 ~]# sh /usr/local/dolphinscheduler-3.2.0/bin/start-all.sh

#全启动
[root@node01 ~]# sh /usr/local/dolphinscheduler-3.2.0/bin/stop-all.sh

#查看所有状态
[root@node01 ~]# sh /usr/local/dolphinscheduler-3.2.0/bin/status-all.sh

#单个启动停止及状态查看
[root@node01 ~]# sh /usr/local/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start|stop|status api-server|master-server|worker-server|alert-server|standalone-server

DolPhinScheduler-3.2.0的集群部署到此为止安装完成!!!


网站公告

今日签到

点亮在社区的每一天
去签到