最新版海豚调度dolphinscheduler-3.1.3配置windows本地开发环境

news2024/12/23 3:40:24

0 说明

本文基于最新版海豚调度dolphinscheduler-3.1.3配置windows本地开发环境,并在windows本地进行调试和开发

1 准备

1.1 安装mysql

可以指定为windows本地mysql,也可以指定为其他环境mysql,若指定为其他环境mysql则可跳过此步。
我这里采用windows本地安装mysql,
① 下载mysql
下载mysql并安装
② 解压下载好的文件,并在解压目录下,新建my.ini文件。并输入以下内容

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 ---这里输入你安装的文件路径----
basedir=E:\workplace\dolphinscheduler-3.1.3\mysql\mysql-8.0.32-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\workplace\dolphinscheduler-3.1.3\mysql\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

这里的basedir和datadir需要修改为你当前自己的目录

③ 进入cmd

mysqld --initialize --console

执行后会生成一个随机密码,复制该密码,后续会有用

④执行安装命令

mysqld --install mysql

注意:如果报Install /Remove of the service Denied,需要以管理员方式启动cmd,然后再次执行该命令即可。

⑤ 启动mysql
选择我的电脑,右键管理-服务和应用查询-服务,找到mysql服务,并启动
在这里插入图片描述

⑥ cmd执行

mysql -uroot -p

输入刚才的随机密码,进入mysql

⑦ 重置密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';

1.2 安装zookeeper

同样这里的zk仍然可以采用windows本地安装或者用其他机器的zk,我这里采用windows本地安装方式

① 下载
注:这里需要下载3.8版本的zk,因为在最新版本的dolphinscheduler中依赖的是3.8.0版本的zk,如果zk版本过低会报错,无法正常启动dolphinscheduler,详见《最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程》

https://zookeeper.apache.org/releases.html

② 解压下载的文件
③ 复杂conf/zoo_sample.cfg为zoo.cfg
④ 修改zoo.cfg
因为当前部署为单机模式,只需修改dataDir和logDir即可
在这里插入图片描述
⑤ 验证
执行

bin/zkServer.cmd

再执行

bin/zkCli.cmd

看到如下页面,则说明zk安装并启动成功
在这里插入图片描述

1.3 git 安装

这里不再赘述,git主要用来拉取dolphinscheduler代码

1.4 maven安装

这里不再赘述,maven主要用于项目管理

1.5 安装Node16.13+

前端调式需要,下载地址

1.6 安装Pnpm

前端调试需要,使用powershell下载安装

iwr https://get.pnpm.io/install.ps1 -useb | iex

在这里插入图片描述

2 mysql配置

2.1 新建dolphinscheduler库

① 在mysql中新建库,用于dolphinscheduler调用

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

② 新建dolphinscheduler用户,并赋予dolphinscheduler库权限

CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
CREATE USER 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost';
FLUSH PRIVILEGES;

在这里插入图片描述

2.2 执行sql

在mysql的dolphinscheduler库中执行dolphinscheduler源码目录下的dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql的文件,以此完成数据的初始化。我这里是在navicat中运行相关sql
在这里插入图片描述
运行成功之后,可以看到库中有如下表:
在这里插入图片描述

2.3 修改ds数据源配置文件

1)如果使用 MySQL 作为元数据库,需要先修改 dolphinscheduler/pom.xml,将 mysql-connector-java 依赖的 scope 改为 compile

2)修改 Master 数据库配置,修改 dolphinscheduler-master/src/main/resources/application.yaml 文件中的数据库配置

3)修改 Worker 数据库配置,修改 dolphinscheduler-worker/src/main/resources/application.yaml 文件中的数据库配置

4)修改 Api 数据库配置,修改 dolphinscheduler-api/src/main/resources/application.yaml 文件中的数据库配置
在这里插入图片描述
注意这里的serverTimezone=UTC表示设置时区,一定要加上,否则会报错如下:

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support

在这里插入图片描述

3 修改zk配置

修改application.yml中zk的连接地址,如果这里采用windows本地安装zk的方式则不用修改,否则需要修改为对应的zk地址。
在这里插入图片描述

3 修改日志级别

修改日志级别:为以下配置增加一行内容 使日志能在命令行中显示
dolphinscheduler-master/src/main/resources/logback-spring.xml
dolphinscheduler-worker/src/main/resources/logback-spring.xml dolphinscheduler-api/src/main/resources/logback-spring.xml
添加内容如下:

<appender-ref ref="STDOUT"/>

修改后内容如下:
在这里插入图片描述

4 启动服务

需要启动三个服务,包括 MasterServer,WorkerServer,ApiApplicationServer

4.1 MasterServer

执行 org.apache.dolphinscheduler.server.master.MasterServer 中的 main 方法,并配置VM Options

-Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql

注:VM Options -Dspring.profiles.active=mysql 中 mysql 表示指定的配置文件
在这里插入图片描述
启动时报如下错误:

Error running 'MasterServer': Command line is too long. Shorten command line for MasterServer or also for Spring Boot default configuration

在这里插入图片描述
解决办法:在项目的.idea/workspace.xml文件中,找到,后面在添加一行

<property name="dynamic.classpath" value="true" />

在这里插入图片描述
启动成功
在这里插入图片描述

4.2 WorkerServer

执行 org.apache.dolphinscheduler.server.worker.WorkerServer 中的 main 方法,并配置 VM Options

-Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql

在这里插入图片描述
启动成功
在这里插入图片描述

4.3 ApiApplicationServer

执行 org.apache.dolphinscheduler.api.ApiApplicationServer 中的 main 方法,并配置VM Options

-Dlogging.config=classpath:logback-spring.xml -Dspring.profiles.active=api,mysql

在这里插入图片描述
启动成功
在这里插入图片描述

4.4 验证

启动完成可以浏览 Open API 文档,地址为 http://localhost:12345/dolphinscheduler/swagger-ui/index.html

在这里插入图片描述

4.5 启动前端

安装前端依赖并运行前端组件

cd dolphinscheduler-ui
pnpm install
pnpm run dev

在这里插入图片描述
在这里插入图片描述

截止目前,前后端已成功运行起来,浏览器访问http://localhost:5173,并使用默认账户密码 admin/dolphinscheduler123 即可完成登录
在这里插入图片描述

5 附 dolphinscheduler 远程debug调试

5.1 修改配置文件

修改api-server/bin/start.sh,添加如下内容:

-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

在这里插入图片描述
重启dolphinscheduler,可以看到远程bebug功能已开启
在这里插入图片描述

5.2 设置idea远程debug

在这里插入图片描述

5.3 调试

以触发任务接口executors/start-process-instance为例子,idea打断点执行,页面点击运行,即可进入debug调试
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IB学科学习方法分享,看看不同学科怎么学习?(二)

分享人&#xff1a;李 分享学科&#xff1a;物理HL &#xff08;个人选课&#xff1a;HL&#xff1a;数学 物理 VA。SL&#xff1a;英语 中文 经济。&#xff09; IB物理学习内容&#xff1a;&#xff08;IB物理有HL和SL之分&#xff0c;SL学习的是核心内容&#xff0c;HL则…

通过IP地址如何解决反欺诈?

IP地址在反欺诈方面可以提供有用的信息。以下是一些常见的方法&#xff1a;地理定位&#xff1a;根据IP地址&#xff0c;可以确定访问者的地理位置。这可以帮助您确定是否来自欺诈者通常不在的地理区域的IP地址。可疑行为&#xff1a;通过分析来自某个IP地址的活动&#xff0c;…

802.1x认证方式(EAP中继认证与EAP终结认证)

文章目录1、前言2、协议说明3、报文分析EAP中继模式:MD5-challengeEAP终结模式:MD5-challengeRadius CHAP认证原理参考资料&#xff1a;1、前言 802.1x协议是基于Client/Server的访问控制和认证协议。 它可以限制未经授权的用户/设备通过接入端口(access port)访问LAN/WLAN。在…

element-ui日期控件el-canlender学习笔记

需求&#xff1a;点击日历控件中的某一天&#xff0c;弹出弹出框添加这一天的活动。 任务分析&#xff1a; 点击日历控件的某一天&#xff0c;获取当前日期信息 代码实现&#xff1a; <el-calendar v-model"nowDate" ><templateslot"dateCell"sl…

无文件攻击

无文件攻击是一种高级持续性威胁&#xff08;APT&#xff09;的攻击方式&#xff0c;它不会在目标系统的磁盘上留下可执行文件&#xff0c;而是利用系统内置的工具或脚本执行恶意代码&#xff0c;从而绕过传统的安全防护措施。无文件攻击的最大特点就是恶意代码直接在内存中运行…

ce认证机构如何选择?

CE认证想必大家都已经有所了解&#xff0c;它是产品进入欧盟销售的通行证&#xff0c;那么我们在办理CE认证时该怎么进行选择?带大家了解一下CE认证机构&#xff0c;以及该怎么去进行选择? 以下信息由证果果编辑整理&#xff0c;更多认证机构信息请到证果果网站查看。找机构…

Python版本的常见模板(二) 数论(一)

文章目录前言质数相关质数判断求约数求取区间质数埃氏筛法线性筛法分解质因数欧拉欧拉函数求取单个数线性筛法求取欧拉定理求逆元快速幂/幂取模欧几里得算法求最小公约数拓展欧几里得算法求解同余方程前言 本文主要是提供Python版本的常见的一些与数论相关的模板&#xff0c;例…

SQL中常见的数据类型

SQL中常见的数据类型 目录概述一、整型分类特点二、小数分类特点三、字符型四、日期型分类特点概述 数值型 整数&#xff1a;整型 小数&#xff1a;定点数、浮点数字符型 较短的文本&#xff1a;char、varchar 较长的文本&#xff1a;text、blob(用于保存较长的二进制数据&…

GEE学习笔记 八十二:湖北旱情分析(2019年8月-9月)

2019年8月1日至9月15日&#xff0c;湖北平均雨量为近53年来同期最少&#xff0c;仅69.4毫米。尤其是中东部地区降水异常偏少&#xff0c;一个半月里大多数地方的累计降水量均不足70毫米&#xff0c;其中洪湖、英山降水仅4毫米。鄂西东部一直到鄂东地区的降水量均比常年同期偏少…

IP协议相关特性

日升时奋斗&#xff0c;日落时自省 目录 1、地址管理 1.1、子网掩码 2、路由选择 针对网络层的IP协议理解 TCP/IP协议栈TCPIP 此处详细解析IPv4协议&#xff08;v4版本&#xff09; 4位版本&#xff1a;此处的取值只有两个v4 &#xff0c;v6 4位首部长度 &#xff1a;描…

【WPF】WindowChrome 自定义窗口完美实现

WindowChrome 自定义窗口完美实现简介效果图自定义最小化、最大化、关闭按钮布局实现结语简介 Microsoft官网关于 WindowChome 的介绍 截取Microsoft文章的一段话&#xff1a;   若要在保留其标准功能时自定义窗口&#xff0c;可以使用该 WindowChrome 类。 该 WindowChrome…

多元回归分析 | CNN-BiLSTM卷积双向长短期记忆神经网络多输入单输出预测(Matlab完整程序)

多元回归分析 | CNN-BiLSTM卷积双向长短期记忆神经网络多输入单输出预测(Matlab完整程序) 目录 多元回归分析 | CNN-BiLSTM卷积双向长短期记忆神经网络多输入单输出预测(Matlab完整程序)预测结果评价指标基本介绍程序设计参考资料预测结果 评价指标 训练结束: 已完成最大轮…

新建一个完整的react项目和完善初始项目

一&#xff1a;新建一个完整的react项目 1.环境准备 目前我的环境是 node&#xff1a;16.17.1 npm&#xff1a; 8.15.0 查看环境&#xff1a;1)&#xff1a;打开命令提示符工具&#xff0c;利用node -v和npm -v 查看一下自己的环境&#xff0c;如果觉得重新卸载、安装node比较…

用记事本实现“HelloWorld”输出

一、在任意文件夹中创建一个新的文本文档文件并写入以下代码 public class Hello{public static void main (String[] args){System.out.print("Hello,World!");} } 二、修改文件名称及文件类型为 Hello.java 特别注意&#xff1a;文件命名必须与代码中类的名称相同…

为什么伟大的产品只专注做一件事

uber 不允许你预订出租车。亚马逊一开始只是卖书。谷歌只是一个搜索引擎。麦当劳没有餐具。不知为什么&#xff0c;我们仍然相信一个产品要想成功&#xff0c;它必须做很多事情。这通常发生在两种情况下&#xff1a;当新产品试图让市场相信它们是值得的&#xff0c;或者当公司提…

儿童蜡笔出口美国CPC认证CPSIA+ASTM963测试

蜡笔是将颜料掺在蜡里制成的笔&#xff0c;可有数十种颜色&#xff0c;画画用。蜡笔没有渗透性&#xff0c;是靠附着力固定在画面上&#xff0c;不适宜用过于光滑的纸、板&#xff0c;亦不能通过色彩的反复叠加求得复合色。它是儿童学习色彩画的理想工具&#xff0c;一些画家用…

【Spark分布式内存计算框架——Spark SQL】5. DataFrame(下)

3.3 Row DataFrame中每条数据封装在Row中&#xff0c;Row表示每行数据&#xff0c;具体哪些字段位置&#xff0c;获取DataFrame中第一条数据。 如何构建Row对象&#xff1a;要么是传递value&#xff0c;要么传递Seq&#xff0c;官方实例代码&#xff1a; import org.apache.…

百分点科技宣布接入百度文心一言能力

2月16日&#xff0c; 百分点科技宣布成为百度文心一言&#xff08;英文名&#xff1a;ERNIE Bot&#xff09;首批生态合作伙伴。后续&#xff0c;百分点科技将全面体验并接入文心一言的能力。百分点科技专注于数据科学理论和技术的创新实践&#xff0c;长期坚持基础技术和行业应…

初始QML

Qt Quick的介绍 &#xff1a; Qt Quick是QML的标准类型和功能库。它包括视觉类型&#xff0c;交互类型&#xff0c;动画&#xff0c;模型和视图&#xff0c;粒子效果和着色器效果。QML 应用程序开发人员可以通过单个导入语句访问所有这些功能&#xff0c;简单来说Qt Quick是一…

使用 Hashnode API、Typescript 和 GraphQL 将博客文章添加到您的 React 站点

在本文中&#xff0c;我们将&#xff1a;使用 Next.js 引导一个 React.js Typescript 项目。设置 Apollo GraphQL 客户端并将其集成到我们的项目中。设置 GraphQL Codegen 以生成我们可以在整个应用程序中使用的类型、类型安全查询和自定义挂钩。创建一个索引页面&#xff0c;其…