当前位置: 首页 > web >正文

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

文章目录

  • 一、集群规划
  • 二、集群安装与测试步骤

一、集群规划

主机名ip服务系统cpu内存
node01192.168.10.101zookeeper-3.8.4、master、worker、apiserver、alertserver和MySQL8.0.26Centos 7.949.6
node02192.168.10.102zookeeper-3.8.4、master和workerCentos 7.924
node03192.168.10.103zookeeper-3.8.4和workerCentos 7.924

二、集群安装与测试步骤

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=123456export 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.Driverurl: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456registry:type: zookeeperzookeeper:namespace: dolphinscheduler2204connect-string: node01:2181,node02:2181,node03:2181max-cpu-load-avg: 3
reserved-memory: 0.1
max-waiting-time: 150sdatasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456

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

registry:type: zookeeperzookeeper:namespace: dolphinscheduler2204connect-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.Driverurl: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456registry:type: zookeeperzookeeper:namespace: dolphinscheduler2204connect-string: node01:2181,node02:2181,node03:2181datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456

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

datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456registry:type: zookeeperzookeeper:namespace: dolphinscheduler2204connect-string: node01:2181,node02:2181,node03:2181datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456

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

 datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://node01:3306/dolphinscheduler2204?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: 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的集群部署到此为止安装完成!!!

http://www.xdnf.cn/news/9528.html

相关文章:

  • 时间的基本概念与相关技术二
  • 如何将多张图组合到一张图里同时保留高的分辨率(用PPT+AdobeAcrobat)
  • 用 Appuploader,让 iOS 上架流程真正“可交接、可记录、可复用”:我们是这样实现的
  • 能按需拆分 PDF 为多个文档的工具
  • Linux C++ 开发基础命令指南
  • 亚远景-ISO 21434标准:汽车网络安全实践的落地指南
  • 基于深度学习的工业OCR实践:仪器仪表数字识别技术详解
  • qt之开发大恒usb3.0相机三
  • 基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统
  • SCDN如何同时保障网站加速与DDoS防御?
  • 精益数据分析(92/126):指标基准化——如何判断你的数据表现是否足够优秀
  • Vue Router 钩子函数与组件生命周期执行顺序详解
  • Ubuntu 系统grub日志级别设置
  • C#与 Prism 框架:构建模块化的 WPF 应用程序
  • 毫秒级数据采集的极致优化:如何用C#实现高性能、无冗余的实时文件写入?
  • 文档整合自动化
  • ASP.NET MVC添加新控制器示例
  • Android 缓存应用冻结器(Cached Apps Freezer)
  • 交换机环路故障分析以及解决方案
  • 模型自学推理:自信驱动进化
  • 使用JavaSDK简单上传文件到阿里云OSS服务中
  • GitHub开源|AI顶会论文中文翻译PDF合集(gpt-translated-pdf-zh)
  • 【AGI】Qwen3模型高效微调
  • Python生成ppt(python-pptx)N问N答(如何绘制一个没有背景的矩形框;如何绘制一个没有背景的矩形框)
  • 小提琴图绘制-Graph prism
  • 打破网络次元壁:NAT 穿透与内网打洞的 “Matrix 式” 通信革命
  • micromamba安装 配置 pythonocc安装
  • 智慧充电桩数字化管理平台:环境监测与动态数据可视化技术有哪些作用?
  • CentOS 7 如何安装libsndfile?
  • D2000平台上Centos使用mmap函数遇到的陷阱