【Dolphinscheduler3.1.1】二次开发本地启动项目(前端+后端)

背景说明

由于业务的定制化开发,需要对Dolphinscheduler进行二次开发,现将项目的启动步骤记录如下。

一、 基础软件安装(必装项请自行安装)

  • Maven: v3.5+,配阿里云仓库地址即可

  • Node: v16.+

  • MySQL (5.7系列) : 两者任选其一即可

  • JDK (1.8+) : 必装

  • ZooKeeper (3.7.1) :必装

ZooKeeper安装步骤如下
  1. 官网下载压缩包并解压到D:\Program Files (x86)\zookeeper-3.4.12

  2. 在D:\Program Files (x86)\zookeeper-3.4.12目录下新建data和log文件夹
    在这里插入图片描述

  3. 复制conf目录下zoo_sample.cfg文件到同目录下,重命名为zoo.cfg(Zookeeper 在启动时会找这个文件作为默认配置文件)
    在这里插入图片描述

修改zoo.cfg中的 dataDir 和 dataLogDir 的配置项为上面新建目录的路径

在这里插入图片描述

  1. 启动测试一下
  • 服务端启动

在这里插入图片描述

  • 启动客户端连接一下,成功

在这里插入图片描述

二、下载源码到本地

源码地址:https://github.com/apache/dolphinscheduler.git

三、切换到指定分支,例如 3.1.1-xxx

四、切换到 dolphinscheduler-ui 目录

修改镜像源,推荐使用淘宝源,可以使用cnpm下载依赖

npm install -g cnpm --registry=https://registry.npmmirror.com/

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

cd dolphinscheduler-ui
cnpm install
cnpm run dev

Dolphinscheduler-ui 模块中的代码结构如下:
在这里插入图片描述
目录说明如下:
- node_modules是依赖包
- Public是根目录
- Src是文件项
- Assets是放置静态文件,如图片
- Components是放置封装的组件文件
- Layouts是放置整体页面ui布局的文件
- Locales是放置中英双语的配置的文件
- Router是放置Dolphinschedulerui的路由文件
- Service是放置后端接口文件
- Store是放置Pinia状态管理的文件
- Themes是放置项目的深色和浅色状态时的颜色信息文件,分为dark和light
- Utils是放置封装js方法的文件
- Views是放置项目代码文件
- app.tsx是配置整体框架页面
- Main.ts是配置项目公共方法,方便全局使用

五、跳过测试编译

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

六、执行数据库脚本

– 执行脚本前,创建数据库

CREATE DATABASE dolphinscheduler;
在这里插入图片描述

七、修改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 文件中的数据库配置

    在这里插入图片描述

八、修改zk配置

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

在这里插入图片描述

九、修改日志级别

修改日志级别:为以下配置增加一行内容 使日志能在命令行中显示
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"/>

修改后内容如下:

在这里插入图片描述

十、启动服务

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

4.1 MasterServer,同理启动WorkerServer,ApiApplicationServer
执行 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 验证
启动完成可以浏览 Open API 文档,地址为 http://localhost:12345/dolphinscheduler/swagger-ui/index.html

十二、打包命令

前端打包命令

cd dolphinscheduler-ui
cnpm run build:prod

后端打包命令

mvn clean package -Prelease -Dmaven.test.skip=true

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

xv6第一章:Operating system interfaces

操作系统通过接口为程序提供服务。xv6只包含一些基本的接口&#xff0c;如上图。 xv6采用kernel的方式。kernel是一种特殊的程序为一般程序提供服务。计算机中有许多进程但是只有一个进程。 当一个进程需要使用kernel服务&#xff0c;需要进行system call。 system call后&am…

c#正则表达式

using System.Text.RegularExpressions; namespace demo1 {/// <summary>/// 正则表达式&#xff08;Regular Expression&#xff09;是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a&#xff5e;z的字母&#xff09;和特殊字符&#xff08;称为“…

Ubuntu22.04 部署Mqtt服务器

1、打开Download EMQX &#xff08;www.emqx.io&#xff09;下载mqtt服务器版本 2、Download the EMQX repository curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash 3.Install EMQX sudo apt-get install emqx 4.Run EMQX sudo systemctl start…

设计模式-享元模式-笔记

动机&#xff08;Movition&#xff09; 在软件系统采用纯粹对象方案的问题在于大量细颗粒的对象会很快充斥在系统中&#xff0c;从而带来很高的运行时代价---主要指内存需求方面的代价。 如何在避免大量细粒度对象问题的同时&#xff0c;让外部客户程序依然能够透明地使用面向…

基于SSM的教学管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

srs webrtc推拉流环境搭建(公网)

本地环境搭建 官方代码https://github.com/ossrs/srs 拉取代码&#xff1a; git clone https://github.com/ossrs/srs.gitcd ./configure make ./objs/srs -c conf/https.rtc.confsrs在公网上&#xff0c;由于srs是lite-ice端&#xff0c;导致他不会主动到srs获取自己的公网i…

关于响应式编程ReactiveX,RxGo

ReactiveX&#xff0c;简称为 Rx&#xff0c;是一个异步编程的 API。与 callback&#xff08;回调&#xff09;、promise&#xff08;JS 提供这种方式&#xff09;和 deferred&#xff08;Python 的 twisted 网络编程库就是使用这种方式&#xff09;这些异步编程方式有所不同&a…

CSDN每日一题学习训练——Python版(简化路径,不同的二叉搜索树)

版本说明 当前版本号[20231116]。 版本修改说明20231116初版 目录 文章目录 版本说明目录简化路径题目解题思路代码思路参考代码 不同的二叉搜索树题目解题思路代码思路参考代码 简化路径 题目 给你一个字符串 path &#xff0c;表示指向某一文件或目录的 Unix 风格 绝对路…

数据结构刷题

空间复杂度&#xff1a;临时开辟的空间、空间是可以重复利用的 递归为O(n) 时间复杂度&#xff1a;程序执行次数 消失的数字 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 思路1&#xff1a;利用连续的特点求等差和然后减去所有元素得到的就是消…

【AI视野·今日Robot 机器人论文速览 第六十三期】Thu, 26 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Fri, 27 Oct 2023 Totally 27 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers 6-DoF Stability Field via Diffusion Models Authors Takuma Yoneda, Tianchong Jiang, Gregory Shakhnarovich, Matthew R. …

JVM虚拟机:垃圾回收器ZGC和Shenandoah算法

随着计算机技术的不断发展,内存管理成为了一个重要的话题。垃圾回收是一种自动内存管理技术,它可以自动地回收不再使用的内存,从而减少内存泄漏和程序崩溃的风险。在Java等高级编程语言中,垃圾回收器是必不可少的组件。近年来,ZGC和Shenandoah算法作为新一代的垃圾回收器,…

C++ 基础二

文章目录 四、流程控制语句4.1 选择结构4.1.1 if语句 4.1.2 三目运算符4.1.3 switch语句注意事项 4.1.4 if和switch的区别【CHAT】4.2 循环结构4.2.1 while循环语句4.2.2 do...while循环语句 4.2.3 for循环语句九九乘法表 4.3 跳转语句4.3.1 break语句4.3.2 continue语句4.3.3 …

扩散模型实战(九):使用CLIP模型引导和控制扩散模型

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 扩散模型实战&#xff08;四&#xff…

Dubbo协议详解

前言特点应用场景Dubbo协议示例Dubbo协议的不足拓展 前言 Dubbo协议是一种高性能、轻量级的开源RPC框架&#xff0c;主要设计目的是解决分布式系统中服务调用的一些常见问题&#xff0c;例如服务负载均衡、服务注册中心、服务的远程调用等。它支持多种语言&#xff0c;例如Jav…

LeetCode(26)判断子序列【双指针】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 判断子序列 1.题目 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;…

centos搭建docker镜像Harbor仓库的简明方法

在kubernetes集群中如果要部署springcloud这样的应用&#xff0c;就必须有一个自建的docker镜像中心仓库。 它的目的有两点&#xff1a; 1. 镜像拉取速度快 2. 开发好维护 而Harbor是一个非常好用的docker本地仓库 所以本篇文章来讲讲如何在部署Harbor仓库 首先系统版本最…

此芯科技加入绿色计算产业联盟,参编绿色计算产业发展白皮书

近日&#xff0c;此芯科技正式加入绿色计算产业联盟&#xff08;Green Computing Consortium&#xff0c;简称GCC&#xff09;&#xff0c;以Arm架构通用智能CPU芯片及高能效的Arm PC计算解决方案加速构建软硬协同的绿色计算生态体系&#xff0c;推动绿色计算产业加速发展。 继…

Linux_系统信息_uname查看内核版本、内核建立时间、处理器类型、顺便得到操作系统位数等

1、uname --help 使用uname --help查看uname命令的帮助信息 2、uname -a 通过上面的help就知道-a选项显示全部内容时的含义了。 内核名是Linux主机名是lubancat&#xff0c;如果想看主机名可以使用命令hostname&#xff1b;内核版本是Linux 4.19.232&#xff0c;建立时间为2…

全栈工程师必须要掌握的前端Html技能

作为一名全栈工程师&#xff0c;在日常的工作中&#xff0c;可能更侧重于后端开发&#xff0c;如&#xff1a;C#&#xff0c;Java&#xff0c;SQL &#xff0c;Python等&#xff0c;对前端的知识则不太精通。在一些比较完善的公司或者项目中&#xff0c;一般会搭配前端工程师&a…

【二分法】

二分法可以在有序排列中&#xff0c;通过不断对半切割数据&#xff0c;提高数据查找效率。 lst [1,4,6,7,45,66,345,767,788,999] n 66 left 0 right len(lst)-1 while left < right: #边界&#xff0c;当右边比左边还小的时候退出循环 mid (left right)//2 …