DolphinScheduler-3.2.0集群部署教程

本文目录

  • 1.集群部署方案(2 Master + 3 Worker)
  • 2.前置准备工作
  • 3.端口说明
  • 4.DS集群部署
    • 1.时间同步
    • 2.配置用户、权限
    • 3.配置集群免密登陆
    • 4.ZK集群启动
    • 5.初始化数据库
      • 1.创建数据库、用户、授权
      • 2.解压缩安装包
      • 3.添加MySQL驱动至libs目录
    • 6.配置文件修改
      • 1.dolphinscheduler_env.sh 配置
      • 2.install_env.sh文件修改
    • 7.初始化元数据
    • 8.安装DS
    • 9.登录 DolphinScheduler 控制台
    • 10.查看监控中心Master/Worker节点信息
      • 1.Master节点
      • 2.Worker节点
    • 11.启动/停止服务命令

1.集群部署方案(2 Master + 3 Worker)

  • DS官网:https://dolphinscheduler.apache.org/zh-cn
  • DS使用文档:https://dolphinscheduler.apache.org/zh-cn/docs/3.2.0
  • 截止2024-01-19,DS最新版本:3.2.0
  • 部署版本:apache-dolphinscheduler-3.2.0-bin.tar.gz
主机名ip部署服务
hadoop31192.168.0.31MasterServer、WorkerServer、ApiServer
hadoop32192.168.0.32MasterServer、WorkerServer
hadoop33192.168.0.33WorkerServer、AlertServer

2.前置准备工作

  • 操作系统:Linux CentOS 7.9 【CPU 4核+ 内存8G+】
  • JDK:下载JDK(1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中。
  • 数据库:MySQL(5.7+)或者 PostgreSQL(8.2.15+),两者任选其一即可,如 MySQL 则需要JDBC Driver 8.0.16 版本。【此处使用MySQL 8.2.0,驱动使用的是:mysql-connector-j-8.2.0.jar】
  • 注册中心:Zookeeper(3.8.0+),集群模式,【此处使用 3.8.3 版本】
  • DS二进制包:下载地址 https://www.apache.org/dyn/closer.lua/dolphinscheduler/3.2.0/apache-dolphinscheduler-3.2.0-bin.tar.gz
  • 注意:DolphinScheduler 本身不依赖 Hadoop、Hive、Spark,但如果你运行的任务需要依赖他们,就需要有对应的环境支持。

3.端口说明

组件默认端口说明
MasterServer5678非通信端口,只需本机端口不冲突即可
WorkerServer1234非通信端口,只需本机端口不冲突即可
ApiApplicationServer12345提供后端通信端口

4.DS集群部署

1.时间同步

服务端:192.168.0.31 客户端:192.168.0.32、192.168.0.33,服务端在31执行,客户端在32、33执行

# 服务端和客户端,安装chrony
yum install chrony -y# 服务端和客户端,安装chrony
yum install chrony -y# 服务端(此处也可以使用 ntp.aliyun.com 来代替 192.168.0.31,使用阿里云时间服务,如果使用31则是本机时间)
cat > /etc/chrony.conf << EOF 
pool 192.168.0.31 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.168.0.0/24
local stratum 10
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
EOF# 客户端
cat > /etc/chrony.conf << EOF 
pool 192.168.0.31 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
EOF# 客服端和服务端,重启chrony,开机自启动
systemctl restart chronyd
systemctl enable chronyd#客户端进行验证
chronyc sources -v# 参数解释
#
# pool ntp.aliyun.com iburst
# 指定使用ntp.aliyun.com作为时间服务器池,iburst选项表示在初始同步时会发送多个请求以加快同步速度。
# 
# driftfile /var/lib/chrony/drift
# 指定用于保存时钟漂移信息的文件路径。
# 
# makestep 1.0 3
# 设置当系统时间与服务器时间偏差大于1秒时,会以1秒的步长进行调整。如果偏差超过3秒,则立即进行时间调整。
# 
# rtcsync
# 启用硬件时钟同步功能,可以提高时钟的准确性。
# 
# allow 192.168.0.0/24
# 允许192.168.0.0/24网段范围内的主机与chrony进行时间同步。
# 
# local stratum 10
# 将本地时钟设为stratum 10,stratum值表示时钟的准确度,值越小表示准确度越高。
# 
# keyfile /etc/chrony.keys
# 指定使用的密钥文件路径,用于对时间同步进行身份验证。
# 
# leapsectz right/UTC
# 指定时区为UTC。
# 
# logdir /var/log/chrony
# 指定日志文件存放目录。

2.配置用户、权限

# 创建用户需使用 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# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
chmod -R 755 apache-dolphinscheduler-*-bin

3.配置集群免密登陆

# 使用创建的 dolphinscheduler 登陆,配置hadoop31到hadoop32、hadoop33免密登陆
su dolphinscheduler# hadoop31节点,生成密钥
ssh-keygen -t rsa# hadoop31节点操作,配置向hadoop31、hadoop32、hadoop33节点免密
ssh-copy-id hadoop31
ssh-copy-id hadoop32
ssh-copy-id hadoop33

4.ZK集群启动

  ZK集群安装,参考教程:ZooKeeper集群的安装,本文安装 ZK 版本为 3.8.3。参考教程中是 3.4.14,安装步骤都是一样样儿的,对应着来就可以了。

# 启动zk集群
bin/zkServer.sh start

5.初始化数据库

此处以 MySQL 为例

1.创建数据库、用户、授权

此处可使用root用户,推荐单独创建一个用户dolphinscheduler

-- 进入MySQL命令行
[root@hadoop01]# mysql -u root -p 
Enter password: xxxxxx
-- 创建 dolphinscheduler 数据库用户和密码,并限定登陆范围
mysql > CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
-- 创建 dolphinscheduler 的元数据,并指定编码
mysql > CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- 为dolphinscheduler数据库授权
mysql > grant all privileges on dolphinscheduler.* to 'dolphinscheduler'@'%';
-- 刷新权限
mysql > flush privileges;

2.解压缩安装包

# 将apache-dolphinscheduler-3.2.0-bin.tar.gz上传至/opt/targz目录下# 解压
[root@hadoop31 targz]# tar zxvf ./apache-dolphinscheduler-3.2.0-bin.tar.gz# 修改目录权限,使得部署用户对解压缩后的文件有操作权限
[root@hadoop31 targz]# chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-3.2.0-bin

3.添加MySQL驱动至libs目录

​ 此处使用 MySQL 8.2.0版本,对应使用 JDBC 驱动为 mysql-connector-j-8.2.0.jar,将该驱动移动至 DolphinScheduler 的每个模块下的 libs 目录下。共5个目录:

  • api-server/libs
  • alert-server/libs
  • master-server/libs
  • worker-server/libs
  • tools/libs

6.配置文件修改

1.dolphinscheduler_env.sh 配置

# 修改dolphinscheduler_env.sh
vim apache-dolphinscheduler-3.2.0-bin/bin/env/dolphinscheduler_env.sh# 在文末添加以下配置:
# JAVA_HOME, will use it to start DolphinScheduler server
# JDK配置
export JAVA_HOME=${JAVA_HOME:-/opt/soft/jdk8}# Database related configuration, set database type, username and password
# MySQL数据库配置
export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://192.168.17.28:3307/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
export SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME:-"dolphinscheduler"}
export SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD:-"dolphinscheduler"}# DolphinScheduler server related configuration
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}# Registry center configuration, determines the type and link of the registry center
# zk注册中心
export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-hadoop31:2181,hadoop32:2181,hadoop33:2181}# Tasks related configurations, need to change the configuration if you use the related tasks.
# 其他环境配置(此处只配置了hadoop、hive,其他环境未部署)
# 如果你不使用某些任务类型,可以忽略不做配置,使用默认即可。比如Flink不使用,不做处理即可
export HADOOP_HOME=${HADOOP_HOME:-/opt/soft/hadoop-3.3.6}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/opt/soft/hadoop-3.3.6/etc/hadoop}
export SPARK_HOME=${SPARK_HOME:-/opt/soft/spark}
export PYTHON_LAUNCHER=${PYTHON_LAUNCHER:-/opt/soft/python}
export HIVE_HOME=${HIVE_HOME:-/opt/soft/hive-3.1.3}
export FLINK_HOME=${FLINK_HOME:-/opt/soft/flink}
export DATAX_LAUNCHER=${DATAX_LAUNCHER:-/opt/soft/datax/bin/python3}export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_LAUNCHER:$PATH

2.install_env.sh文件修改

# 修改install_env.sh
vim apache-dolphinscheduler-3.2.0-bin/bin/env/install_env.sh# 按照集群部署方案,内容如下:# 集群节点
ips=${ips:-"hadoop31,hadoop32,hadoop33"}# ssh免密端口,使用默认
sshPort=${sshPort:-"22"}# master节点
masters=${masters:-"hadoop31,hadoop32"}# worker节点
workers=${workers:-"hadoop31:default,hadoop32:default,hadoop33:default"}# alert节点
alertServer=${alertServer:-"hadoop33"}# api节点
apiServers=${apiServers:-"hadoop31"}# dolphinscheduler实际安装路径
installPath=${installPath:-"/opt/soft/dolphinscheduler-3.2.0"}# 部署dolphinscheduler使用的用户名
deployUser=${deployUser:-"dolphinscheduler"}# zk根节点
zkRoot=${zkRoot:-"/dolphinscheduler"}

7.初始化元数据

# 切换到apache-dolphinscheduler-3.2.0-bin目录下,执行命令
[root@hadoop31 apache-dolphinscheduler-3.2.0-bin]# sh ./tools/bin/upgrade-schema.sh# 此操作,会向MySQL数据库写入元数据,共计65张表,如图所示:

请添加图片描述

8.安装DS

# 执行install.sh部署命令
[root@hadoop31 apache-dolphinscheduler-3.2.0-bin]# ./bin/install.sh # 当看到下图时,说明 DS 安装完成

请添加图片描述
提示:

安装完成后,此时安装用到的 apache-dolphinscheduler-3.2.0-bin 文件就没用了。

此时,已经将 DS 安装到配置中指定的 /opt/soft/dolphinscheduler-3.2.0 目录下了

9.登录 DolphinScheduler 控制台

访问地址:http://192.168.0.31:12345/dolphinscheduler/ui/

用户名:admin

密码:dolphinscheduler123
请添加图片描述

10.查看监控中心Master/Worker节点信息

1.Master节点

请添加图片描述

2.Worker节点

请添加图片描述

11.启动/停止服务命令

第一次安装后,会自动启动所有服务。如有服务问题或者后续需要启停,命令如下。以下脚本都在 DolphinScheduler安装目录的bin下

# 一键停止集群所有服务
sh /opt/soft/dolphinscheduler-3.2.0/bin/stop-all.sh# 一键启动集群所有服务
sh /opt/soft/dolphinscheduler-3.2.0/bin/start-all.sh# 启/停 master 服务
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start master-server 
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop master-server # 启/停 worker 服务
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start worker-server 
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop worker-server # 启/停 api 服务
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start api-server 
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop api-server # 启/停 alert 服务
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start alert-server 
sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop alert-server 

本文结束,谢谢

     ___       ___       ___       ___            ___       ___   /\  \     /\  \     /\__\     /\  \          /\  \     /\__\  /::\  \   /::\  \   /::L_L_   /::\  \        /::\  \   /:| _|_ /:/\:\__\ /:/\:\__\ /:/L:\__\ /::\:\__\      /:/\:\__\ /::|/\__\\:\ \/__/ \:\/:/  / \/_/:/  / \:\:\/  /      \:\/:/  / \/|::/  /\:\__\    \::/  /    /:/  /   \:\/  /        \::/  /    |:/  / \/__/     \/__/     \/__/     \/__/          \/__/     \/__/  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/241769.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DBA技术栈MongoDB:简介

1.1 什么是MongoDB&#xff1f; MongoDB是一个可扩展、开源、表结构自由、用C语言编写且面向文档的数据库&#xff0c;旨在为Web应用程序提供高性能、高可用性且易扩展的数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当…

Debian 11.8.0 安装图解

引导和开始安装 这里直接回车确认即可&#xff0c;选择图形化安装方式。 选择语言 这里要区分一下&#xff0c;当前选中的语言作为安装过程中安装器所使用的语言&#xff0c;这里我们选择中文简体。不过细心的同学可能发现&#xff0c;当你选择安装器语言之后&#xff0c;后续安…

阿里云ECS(CentOS镜像)安装docker

目录 1.前置条件 2.连接至ECS 3.yum软件包更新 4.安装docker前置所需软件包 5.添加docker 官方的 yum 软件源 6.安装docker 7.检测是否成功 8.配置阿里云镜像加速器 1.前置条件 在看本文前保证未安装过docker,或者安装过但是清理干净 如果多次安装失败过&#xff0c;…

【机组】算术逻辑单元带进位运算实验的解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《机组 | 模块单元实验》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 ​ 目录 &#x1f33a;一、 实验目…

小白水平理解面试经典题目LeetCode 121 Best Time to Buy and Sell Stock

121 Best Time to Buy and Sell Stock (买卖股票的最佳时机) 你好&#xff0c;2024年的第一个月&#xff0c;又是秋风萧瑟天气凉&#xff0c;草木摇落露为霜。.。。在这个特殊的时代&#xff0c;作为我们普通的一个打工人&#xff0c;我们用这道题&#xff0c;开启对这个不符合…

DolphinDB学习(0):DolphinDB基本概述

DolphinDB的学习难度不小&#xff0c;主要是写法比较多&#xff0c;官方示例是一次性给一大堆代码&#xff0c;在没有成体系的学习基础的前提下&#xff0c;总有种力不从心的感觉&#xff0c;所以博主汇总这一个系列的文章&#xff0c;尝试从最简单的基础常规操作开始&#xff…

ASP.NET Core 对象池化技术

写在前面 Microsoft.Extensions.ObjectPool 是 ASP.NET Core 基础结构的一部分&#xff0c;当对象的初始化成本较高&#xff0c;并且可能被频繁使用时&#xff0c;才适合采用对象池技术&#xff1b;被ObjectPool管理的对象不会进入垃圾回收&#xff0c;使用时通过由实例对象实…

自动化测试:5分钟了解Selenium以及如何提升自动化测试的效果

在快节奏的技术世界里&#xff0c;自动化测试已经成为确保 Web 应用程序质量和性能的重要手段。自动化测试不仅加快了测试过程&#xff0c;还提高了测试的重复性和准确性。Selenium&#xff0c;作为领先的自动化测试工具之一&#xff0c;为测试人员提供了强大的功能来模拟用户在…

采集B站up主视频信息

一、网页信息&#xff08;示例网址&#xff1a;https://space.bilibili.com/3493110839511225/video&#xff09;

2018年认证杯SPSSPRO杯数学建模A题(第二阶段)海豚与沙丁鱼全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于聚类分析的海豚捕食合作策略 A题 海豚与沙丁鱼 原题再现&#xff1a; 沙丁鱼以聚成大群的方式来对抗海豚的捕食。由于水下光线很暗&#xff0c;所以在距离较远时&#xff0c;海豚只能使用回声定位方法来判断鱼群的整体位置&#xff0c;难…

多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计…

vue中引入sass、scss

常规步骤 1. 创建项目 使用vue cli 脚手架工具创建项目 vue create xxxx2. 创建全局样式文件 全局样式变量 路径&#xff1a;/assets/styles/variables.scss //flex 布局变量 $--flex-direction: ("row", "column"); $--flex-position: ("start"…

Linux下安装Mysql【CentOS7 】

Linux下安装Mysql 一、Linux下安装Mysql-5.7.41【tar包下载安装】1.1.首先检查是否已经安装过mysql1.2.下载Linux版本的Mysql-5.71.3.解压缩1.4.安装执行 rpm 安装包需要先下载 openssl-devel 插件1.5.安装 Mysql5.7 执行 rpm 安装包1.6.Mysql相关操作命令1.7.查看Mysql-5.7 临…

nodejs前端项目的CI/CD实现(四)前端项目的CD持续部署

一、说在前面的话 相信经过前面的几篇文章&#xff0c;你已了解如何构建并部署一个前端项目。 本文将以一个示例&#xff0c;给你一个直观的部署过程。 二、准备工作 由于我们使用的rsync工具&#xff0c;选择的是ssh部署方式&#xff0c;所以需要你把jenkins容器的公钥添加…

LLM:Training Compute-Optimal Large Language Models

论文&#xff1a;https://arxiv.org/pdf/2203.15556.pdf 发表&#xff1a;2022 前文回顾&#xff1a; OpenAI在2020年提出《Scaling Laws for Neural Language Models》&#xff1a;Scaling Laws(缩放法则&#xff09;也一直影响了后续大模型的训练。其给出的结论是最佳计算效…

【1】SM4 CBC-MAC 机制

0x01 题目 MSG1: e55e3e24a3ae7797808fdca05a16ac15eb5fa2e6185c23a814a35ba32b4637c2 MAC1: 0712c867aa6ec7c1bb2b66312367b2c8 ----------------------------------------------------- MSG2: d8d94f33797e1f41cab9217793b2d0f02b93d46c2ead104dce4bfec453767719 MAC2: 4366…

性能压力测试:企业成功的关键要素

性能压力测试在现代企业软件开发中扮演着至关重要的角色&#xff0c;它不仅仅是一项技术手段&#xff0c;更是保障企业成功的关键要素。本文将探讨性能压力测试在企业中的重要性&#xff0c;并阐述其对业务稳定性、用户体验和品牌声誉的影响。 一、保障业务稳定性 1、应对高负载…

Docker 仓库管理

Docker 仓库管理 仓库&#xff08;Repository&#xff09;是集中存放镜像的地方。以下介绍一下 Docker Hub。当然不止 docker hub&#xff0c;只是远程的服务商不一样&#xff0c;操作都是一样的。 Docker Hub 目前 Docker 官方维护了一个公共仓库 Docker Hub。 大部分需求…

Python使用pyechart分析疫情确诊人数图(2024)

import json from pyecharts.charts import Map from pyecharts import options as opts# 首先打开文件获取数据 f open("/Desktop/python/Project/数据可视化/疫情.txt", "r", encoding"UTF-8") data f.read()# 字符串转化成json数据 data_js…

16k+ start 一个开源的的监控系统部署教程

安装条件 Linux或macOS系统 4GB内存 开放 33014、33174、3183端口 1.安装 1、下载源码 首先使用 git 克隆源码到本地 git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/ 方式1&#xff1a;运行 install.sh 脚本一键安装 ./install.s…