标签 开发环境搭建 下的文章

第四章 开发环境搭建

在上一章中,我们已经初步了解了 ESP32 系列芯片(如 ESP32-P4和 ESP-IDF开发框架的相关知识)。接下来,我们将进入实践部分,逐步搭建适合 ESP32-P4 开发的工作环境。无论您是初学者,还是有一定开发经验,本章节都会帮助您从搭建环境、命令式开发再到IDE集成开发环境搭建,确保顺利开启基于 ESP32-P4 的项目开发。
本章分为如下几个小节:
4.1 搭建ESP-IDF环境
4.2 IDF前端工具
4.3 搭建集成开发环境

4.1 搭建ESP-IDF环境

在前面章节中,笔者已经讲解了ESP32的开发可以在Windows、Linux和Mac系统上进行。本书的开发环境是在Windows平台上搭建的,因此对于Linux和Mac系统的开发环境搭建,读者需要自行查找相关资料。
搭建ESP-IDF环境有两种方式:离线安装和在线安装。在此,笔者强烈推荐使用离线安装包。尽管安装速度可能稍慢,但离线安装能够大幅提高成功率,避免网络问题带来的安装失败风险。相比之下,在线安装包需要稳定的网络连接,如果网络状况不佳,可能会导致安装中断或失败。不过,在线安装的优势在于可以获取最新的ESP-IDF版本,通常适用于芯片发布前的调试阶段。这样,读者可以根据自己的需求选择合适的安装方式。

4.1.1 离线安装ESP-IDF

注意:笔者将 ESP-IDF 安装在 D:\Soft_APP\Espressif 路径下,因此以下示例将基于该路径进行操作说明。
离线安装包可以在 ESP-IDF Windows 安装下载中心(https://dl.espressif.com/dl/esp-idf/)下载,或通过正点原子提供的资料A盘 路径找到。具体路径为:6,软件资料1. 软件1,IDF开发工具esp-idf-tools-setup-offline-5.4.exe,可以获取 v5.4 离线安装包,如下图所示。

图4.1.1.1 下载v5.4离线安装包
注意:本书籍中的所有例程示例均使用此版本的 ESP-IDF。如果使用其他版本编译本书籍中的例程示例时出现错误或效果未能如预期,请务必切换回本书籍推荐的ESP-IDF 版本,以确保所有例程能正常编译和运行。
下载成功后,在安装程序上单击右键选择<以管理员身份运行>运行安装包,如下图所示:

图4.1.1.2 以管理员身份运行安装包
打开安装程序后选择简体中文安装,如下图所示。

图4.1.1.3 选择安装语言
点击“确定”后进入安装许可协议页面,如下图所示。请勾选“我同意此协议”选项,并点击“下一步”。

图4.1.1.4 勾选“我同意此协议”选项
点击下一步后,会跳出安装前系统检查页面,如下图所示。

图4.1.1.5 安装前系统检查
安装程序会检查你当前系统有没有打开“长路径支持”,因为GNU编译器产生的编译文件会有非常深的目录结构,如果不支持长路径,编译可能出现文件不存在,目录不存在等奇怪的错误。这里单击应用修复按钮,可以修复这个问题。在弹出的确认对话框中,选择“是”,开始修复(若上图中的“应用修复”按钮失效,证明系统已经启用长路径功能,我们直接下一步即可)。如下图所示。

图4.1.1.6 启用长路径
如果修复不成功,通常是由于安装软件时未使用管理员权限运行。在这种情况下,可以手动修改注册表来启用长路径支持。具体操作是:按下快捷键“Win + R”打开“运行”对话框,输入“regedit”并按回车进入注册表编辑器。接着,找到HKLM_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled项目,将LongPathsEnabled 的DWORD数值修改为1。这样可以解决长路径问题,确保安装顺利完成。如下图所示。

图4.1.1.7 手动启用长路径
图4.1.1.7 提示修复完成后,点击“下一步”进入配置安装路径,如下图所示。

图4.1.1.8 配置安装路径
安装程序默认的安装位置为 C:\Espressif,但笔者将其安装在 D盘,因为安装过程中可能会占用数十GB的存储空间。因此,建议用户选择其他磁盘分区作为安装路径。注意:安装路径必须为全英文路径,切勿使用任何包含中文字符的路径,否则会导致 ESP-IDF 环境搭建失败。
设置安装路径后,点击 “下一步” 进入 确认安装组件界面。在该界面中,我们选择 “全部安装”,然后再次点击 “下一步”,开始安装ESP-IDF开发环境。
ESP-IDF安装成功后会出现如下图页面。

图4.1.1.9 ESP-IDF安装成功
上图中的选项 1 和 2 用于测试环境安装是否成功,选项 3 则是将 ESP-IDF 工具链加入杀毒软件的排除项,以加快编译速度。我们勾选所有选项后,点击 “Finish” 按钮。此时,桌面会自动弹出两个命令终端图标:“ESP-IDF 5.4 CMD”和“ESP-IDF 5.4 PowerShell”。其中,PowerShell 终端功能更强大,适合执行复杂任务或管理复杂环境的用户;CMD 终端则更适合基础的命令行操作和简单脚本执行。用户可以根据需求和偏好选择使用合适的工具,如下图所示。

图4.1.1.10 PowerShell和CMD终端
上图中,如果两个终端均提示“idf.py build”命令,则初步证明安装成功。在这两个终端下,我们可以采用命令形式进行配置、编译、链接和构建项目,这与在Linux中的开发方式颇为相似。在4.2小节中,将详细讲解ESP-IDF常用的命令。
下图为ESP-IDF安装成功后的文件结构。

图4.1.1.11 espressif工具目录
上图中的文件介绍,笔者已在 3.2 小节中展示过,这里不再详细说明。图中的 frameworks 文件夹保存了我们之前安装的 ESP-IDF 源代码。
为了让系统能够找到和识别ESP-IDF的相关工具和库,从而能够顺利地进行编译、构建和调试ESP32或其他Espressif芯片的项目,我们必须设置ESP-IDF的环境变量,设置方法如下:
按照此过程(此电脑属性高级系统环境变量)打开,如下图所示。

图4.1.1.12 添加IDF_PATH环境变量
如果 ESP-IDF 库安装成功,系统会自动为我们添加 IDF_TOOLS_PATH 和 IDF_COMPONENT_STORAGE_URL 环境变量。安装完成后,系统还会自动安装 Espressif-IDE,这是一款专为乐鑫 SoC 芯片开发的集成开发环境。由于该软件在国内发布时间较短,且国内开发者多倾向于使用 VS Code IDE 进行开发,因此本教程的示例主要基于 VS Code IDE 展开。然而,正点原子也致力于推广 Espressif-IDE,因此我们决定额外编写一份关于 Espressif-IDE 使用的教程,以帮助国内开发者更好地熟悉并使用这一强大的开发工具(请参阅《Espressif-IDE 集成开发环境使用指南》)。
至此,ESP-IDF 离线安装已经完成。接下来,笔者将为大家介绍如何进行 ESP-IDF 的在线安装,有需要的读者请参考接下来的内容。

4.1.2 在线安装ESP-IDF(方法一)

在 VSCode 的 ESP-IDF 插件中,可以通过在线方式安装 ESP-IDF 软件开发库。关于 VSCode 和 ESP-IDF 插件的下载与安装过程,请参考本章节的 4.3 小节。接下来,我们将详细介绍通过 ESP-IDF 插件在线安装 ESP-IDF 软件开发库的具体步骤,流程如下:
1,按下快捷键“F1”或“Ctrl + Shift + P”打开“显示所有命令”界面。然后,在搜索框中输入“Configure ESP-IDF”,并从下拉菜单中选择此选项,进入 ESP-IDF 配置界面,如下图所示。

图4.1.2.1 配置ESP-IDF扩展
回车后,将进入配置 ESP-IDF 插件的界面,如下图所示。

图4.1.2.2 进入ESP-IDF插件配置界面
在上图中,点击 “ADVANCED”选项,然后选择下载服务器和下载版本,如下图所示。

图4.1.2.3 在线安装v5.4版本IDF
2,点击“Configure Tools”选项下载与安装,如下图所示。

图4.1.2.4 ESP-IDF下载与安装
在上图中,完成步骤1至3后,流程顺利运行并成功完成,接下来将进入下图所示的界面。

图4.1.2.5 安装ESP-IDF成功
如上图所示,v5.4版本的ESP-IDF安装已成功完成。此时,您可以在VSCode左下角切换到v5.4版本的ESP-IDF,具体操作如下面的图示所示。

图4.1.2.6 切换IDF版本¬¬¬
3,设置环境变量,如下图所示。

图4.1.2.7 设置IDF环境变量

4.1.3 在线安装ESP-IDF(方法二)

相比离线安装,在线安装 ESP-IDF 更具挑战,主要是因为在线安装依赖于稳定的网络连接,否则可能会导致安装失败。接下来,笔者将手把手教大家如何进行在线安装 ESP-IDF。
首先,我们需要从 GitHub 或 Gitee 平台查找所需的 ESP-IDF 版本。下图展示了在 GitHub 平台上查看 ESP-IDF 分支版本的方法。

图4.1.3.1 查看ESP-IDF版本
在这里,笔者选择了 release/v5.4 分支的 ESP-IDF 版本。接下来,在 Git 终端中输入以下命令,拉取该版本的 ESP-IDF(或者使用国内服务器git clone -b release/v5.4 https://gitee.com/EspressifSystems/esp-idf.git)。

图4.1.3.2 拉取ESP-IDF V5.4版本的源代码
在上图中,笔者将 ESP-IDF 源代码拉取到了 D:\Soft_APP\Espressif\frameworks路径下(离线安装ESP-IDF源代码存储的位置),方便使用多个IDF版本开发。接着,在 Git 终端中输入以下命令,进入 esp-idf 目录。随后,输入以下命令更新 ESP-IDF 源代码中的子模块,如下图所示。

图4.1.3.3 更新子模块
注意:全部子模块必须更新完成,否则在线安装将会失败。在更新子模块的过程中,请确保网络连接稳定,以避免出现中断或错误。
为了让读者避免繁琐的在线SDK下载过程,笔者已经为大家预先下载了v5.4.0和v5.5.0版本的ESP-IDF。您可以在 A盘6 软件资料1 软件4,IDF软件开发工具包目录下找到这两个版本的开发工具包。只需解压缩文件即可免去从GitHub下载的步骤。例如我们将4,IDF软件开发工具包目录下esp-idf_v5.4.0.zip压缩包解压到D:\Soft_APP\ESP_IDF\Espressif\frameworks目录下,该目录是离线IDF成功后生成的目录,它是用来存储IDF软件开发工具包的地方。
然后在ESP-IDF Windows 安装下载中下载网页下下载在线安装工具,用来安装release/v5.4 分支的 ESP-IDF 版本,如下图所示。

图4.1.3.4 下载在线安装工具
以<管理员身份运行>在线安装工具,如下图所示。

图4.1.3.5 运行在线安装工具
进入安装语言页面,这里我们选择“简体中文”,并点击“确定”按钮,如下所示。

图4.1.3.6 选择安装语言
点击“确定”后进入安装许可协议页面,如下图所示。请勾选“我同意此协议”选项,并点击“下一步”。

图4.1.3.7 勾选“我同意此协议”选项
点击下一步后,会跳出安装前系统检查页面,如下图所示。

图4.1.3.8 安装前系统检查
上图中的“应用修复”按钮失效,证明系统已经启用长路径功能,我们直接下一步即可。如下图所示。

图4.1.3.9 下载或使用ESP-IDF
这里我们选择“使用现有的ESP-IDF目录”也就是我们前面下载的release/v5.4版本的Esp-IDF源代码,然后点击“浏览”选项配置ESP-IDF路径。如下图所示。

图4.1.3.10 配置选择现有的ESP-IDF
点击“下一步”进入ESP-IDF Tools工具安装,如下图所示。

图4.1.3.11 ESP-IDF Tools安装路径配置
上图的安装路径与离线安装的Tools路径是一致的。然后点击“下一步”进入选择组件安装页面,如下图所示。

图4.1.3.12 选择安装组件
点击“下一步”按钮,进入准备安装页面,如下图所示。

图4.1.3.13 准备安装
此时,我们点击“安装”按钮,就可以安装release/v5.4版本的ESP-IDF了,如下图所示。

图4.1.3.14 ESP-IDF Tools安装完成
此时点击“完成”按钮,系统自动弹出“ESP-IDF 5.4 CMD”和“ESP-IDF 5.4 PowerShell”终端,如下图所示。

图4.1.3.15 PowerShell和CMD终端
上图中,如果两个终端均提示“idf.py build”命令,则初步证明安装成功。在这两个终端下,我们可以采用命令形式进行配置、编译、链接和构建项目,这与在Linux中的开发方式颇为相似。在4.2小节中,将详细讲解ESP-IDF常用的命令。

4.1.4 安装USB虚拟串口驱动

ESP32-P4的USB串口可以用于程序下载和与ESP监控器的交互。通过USB连接DNESP32P4开发板后,您可以在项目文件夹中执行特定命令,使用像idf.py这样的工具编译并下载程序到开发板上。正点原子的DNESP32P4开发板通过CH343P芯片进行串口信号转换,从而实现与PC的通信。CH343P芯片将ESP32- P4的串口信号转换为USB信号,并通过USB接口连接到PC。
为了在电脑上实现与ESP32-P4的通信,需要安装CH343P芯片的驱动程序。您可以访问沁恒的官方网站(https://www.wch.cn/)下载该驱动程序,或者在6,软件资料1,软件CH343P驱动文件夹下找到CH343P的驱动安装程序,如下图所示。

图4.1.4.1 CH343P驱动安装程序
打开CH343P驱动安装程序后,点击安装程序中的“安装”按钮,若提示“驱动安装成功”,则说明CH343P驱动已经安装成功了,如下图所示。

图4.1.4.2 CH343P驱动安装成功
安装完CH343P驱动后,使用跳线帽将正点原子DNESP32P4开发板的底板P6和核心板P3排针的1&3和2&4接上,如下图所示。

图4.1.4.3 连接USB-UART0
接下来,使用USB线将开发板UART接口与PC的USB端口相连接即可。此时,PC端的设备管理器中查看到CH343P虚拟出的串口,如下图所示。

图4.1.4.4 PC端显示的虚拟串口
从上图可以看出,CH343P虚拟出的串口被PC分配了COM60的端口号。这个端口号用于串口调试助手等上位机确定与之通信的串口端。需要注意的是,当CH343P与不同的PC连接,甚至是与同一台PC的不同USB端口连接后,虚拟出的串口被PC分配到的端口号可能是不同的,例如COM4或COM5。读者可以根据设备管理器中端口设备的名称来判断具体是哪个端口号。如果同时连接了多个CH343P系列的芯片,则需要逐个测试端口号。安装完USB虚拟串口驱动后,就可以使用串口调试助手,如MobaXterm软件,与板卡通过串口进行通信了。

4.1.5 如何在PC系统上的CMD和PowerShell终端运行IDF命令

在PC系统上的CMD和PowerShell终端运行IDF(Espressif IoT Development Framework)命令,主要涉及到配置ESP-IDF环境以及使用相应的命令。以下是在CMD和PowerShell中运行IDF命令的详细步骤:
1,打开IDF CMD终端,并输入“echo %path%”命令获取IDF相关路径

图4.1.5.1 获取IDF相关安装路径
上图中,我们把输出的地址直到红色圈圈为止,进行拷贝到path环境变量当中。
2,打开系统环境变量path,然后使用编辑文本的方式添加这些变量值。

图4.1.5.2 添加环境变量
注意:添加环境变量时候,必须首尾添加“;”逗号以表示添加结束。添加完成后,我们就可以在CMD或者PowerShell终端运行IDF命令了。

Apache DolphinScheduler3.1.9+Minio 海报

目录

这里按照官方提供的文档进行操作:

前提

官方提供的开发手册位置

1、软件要求

在搭建 DolphinScheduler 开发环境之前请确保你已经安装以下软件:

  • Git
  • JDK: v1.8.x (当前暂不支持 jdk 11)
  • Maven: v3.5+
  • Node: v16.13+ (dolphinScheduler 版本低于 3.0, 请安装 node v12.20+)
  • Pnpm: v6.x

2、克隆代码库

通过你 git 管理工具下载 git 代码,下面以 git-core 为例

mkdir dolphinscheduler
cd dolphinscheduler
git clone git@github.com:apache/dolphinscheduler.git

3、编译源码

支持的系统:
* MacOS
* Linux
【这个我没有运行试试】
运行 `mvn clean install -Prelease -Dmaven.test.skip=true`

DolphinScheduler 普通开发模式

上面是官方提供的,我觉得有用就复制下来,

这里开始我就按照自己的操作顺序记录

1、编译问题:

1、git相关
1-1:开启 Windows Git 长路径支持,
管理员 PowerShell 执行,解决 DolphinScheduler 路径太深导致 git add 失败
git config --system core.longpaths true

1-2:先初始化git仓库,只在本地,不涉及账号、不推远程,Spotless 需要 HEAD
git init
git add .
git commit -m "initial commit"

2、Maven 编译 / 格式化(IDEA 里的 Terminal)
2-1:依赖 Git HEAD,自动修复格式问题
mvn spotless:apply
2-2:编译整个项目(跳过测试),确保所有模块已 install
mvn clean install -DskipTests

3、前端相关:

查看 Node.js 是否已安装
node -v

查看 npm 版本
npm -v

安装 pnpm
npm install -g pnpm
pnpm -v

编译都没有问题

2、启动zookeeper

官方内容

下载 ZooKeeper,解压

存储配置

启动脚本

搞个txt编辑完后,后缀该bat即可

@echo off
echo 正在启动 ZooKeeper...
cd /d E:\\install\\ZooKeeper\\zookeeper-3.8.3\\bin
zkServer.cmd
pause

3、workspace.xml 修改

【可以不用,我也是看其他文章有添加的,不过我没添加也能正常运行,这里只做记录】

在其他文章看到说在这里添加这行,说是让 IDEA 在运行时动态使用模块的 classpath,而不是用启动时生成的静态 classpath。

注意点:
这个作用只会影响本地 IDEA 启动,线上环境如果有问题这个是解决不了的。

"dynamic.classpath": "true",

4、数据库

我这里用的是mysql,所以需要修改

4-1:数据初始化
创建名为【dolphinscheduler】的新数据库后,
把这个位置的sql直接拷贝复制执行即可。

如图:

4-2:依赖相关修改
如果使用 MySQL 作为元数据库,需要先修改 `dolphinscheduler/pom.xml`,
将 `mysql-connector-java` 依赖的 `scope` 改为 `compile`,
使用 PostgreSQL 则不需要

test 改成 compile

5、application.yaml 修改数据库配置

5-1:dolphinscheduler-master
如图,配置文件中修改这些数据:三个内容都是一样的

spring:
  config:
    activate:
      on-profile: mysql
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: 账户名
    password: 数据库密码

5-2:dolphinscheduler-worker

5-3:dolphinscheduler-api

6、logback-spring.xml 修改日志级别

6-1:dolphinscheduler-master
<appender-ref ref="STDOUT"/>

6-2:dolphinscheduler-worker

6-3:dolphinscheduler-api

7、启动后端三个服务

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

* MasterServer:在 Intellij IDEA 中执行 `org.apache.dolphinscheduler.server.master.MasterServer` 中的 `main` 方法,并配置 *VM Options* `-Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql`

* WorkerServer:在 Intellij IDEA 中执行 `org.apache.dolphinscheduler.server.worker.WorkerServer` 中的 `main` 方法,并配置 *VM Options* `-Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql`

* ApiApplicationServer:在 Intellij IDEA 中执行 `org.apache.dolphinscheduler.api.ApiApplicationServer` 中的 `main` 方法,并配置 *VM Options* `-Dlogging.config=classpath:logback-spring.xml -Dspring.profiles.active=api,mysql`。启动完成可以浏览 Open API 文档,地址为 http://localhost:12345/dolphinscheduler/swagger-ui/index.html

> VM Options `-Dspring.profiles.active=mysql` 中 `mysql` 表示指定的配置文件
7-1:MasterServer
配置 VM Options
按照操作配置这个:打开后填入即可

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

7-2:WorkerServer
配置 VM Options

跟上面一样操作:

-Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql
7-3:ApiApplicationServer
配置 VM Options
-Dlogging.config=classpath:logback-spring.xml -Dspring.profiles.active=api,mysql

总的就这三个:

8、启动前端服务

命令:
安装前端依赖并运行前端组件

cd dolphinscheduler-ui
pnpm install
pnpm run dev

9、浏览器访问

账号密码:
浏览器访问:
http://localhost:5173/home

默认账号密码:

账号:admin
密码:dolphinscheduler123
成功访问:

相关问题

1、存储未启用、租户\用户 指定

问题:测试能否创建文件夹、上传文件等,提示【存储未启用】

问题:当前登录用户的租户信息未被指定

解决方法:

Minio 安装、启动

我这里直接用minio来尝试:

1、minio 创建 dolphinscheduler 桶

2、commom.properties 修改

配置文件改了这些地方

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# user data local directory path, please make sure the directory exists and have read write permissions
data.basedir.path=/tmp/dolphinscheduler

# resource view suffixs
#resource.view.suffixs=txt,log,sh,bat,conf,cfg,py,java,sql,xml,hql,properties,json,yml,yaml,ini,js

# resource storage type: HDFS, S3, OSS, NONE
# ljh -->   S3 is Minio--------------------------------------
resource.storage.type=S3
# resource store on HDFS/S3 path, resource file will store to this base path, self configuration, please make sure the directory exists on hdfs and have read write permissions. "/dolphinscheduler" is recommended
resource.storage.upload.base.path=/dolphinscheduler

# ljh --> The account and password of MinIO-------------------------------
# The AWS access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
resource.aws.access.key.id=minioadmin
# The AWS secret access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
resource.aws.secret.access.key=minioadmin
# The AWS Region to use. if resource.storage.type=S3 or use EMR-Task, This configuration is required
resource.aws.region=cn-north-1
# ljh --> add bucket ------------------------------
# The name of the bucket. You need to create them by yourself. Otherwise, the system cannot start. All buckets in Amazon S3 share a single namespace; ensure the bucket is given a unique name.
resource.aws.s3.bucket.name=dolphinscheduler
# You need to set this parameter when private cloud s3. If S3 uses public cloud, you only need to set resource.aws.region or set to the endpoint of a public cloud such as S3.cn-north-1.amazonaws.com.cn
# ljh --> localhost convert  127.0.0.1
resource.aws.s3.endpoint=http://127.0.0.1:9000

# alibaba cloud access key id, required if you set resource.storage.type=OSS
resource.alibaba.cloud.access.key.id=<your-access-key-id>
# alibaba cloud access key secret, required if you set resource.storage.type=OSS
resource.alibaba.cloud.access.key.secret=<your-access-key-secret>
# alibaba cloud region, required if you set resource.storage.type=OSS
resource.alibaba.cloud.region=cn-hangzhou
# oss bucket name, required if you set resource.storage.type=OSS
resource.alibaba.cloud.oss.bucket.name=dolphinscheduler
# oss bucket endpoint, required if you set resource.storage.type=OSS
resource.alibaba.cloud.oss.endpoint=https://oss-cn-hangzhou.aliyuncs.com

# if resource.storage.type=HDFS, the user must have the permission to create directories under the HDFS root path
resource.hdfs.root.user=hdfs
# if resource.storage.type=S3, the value like: s3a://dolphinscheduler; if resource.storage.type=HDFS and namenode HA is enabled, you need to copy core-site.xml and hdfs-site.xml to conf dir
resource.hdfs.fs.defaultFS=hdfs://mycluster:8020

# whether to startup kerberos
hadoop.security.authentication.startup.state=false

# java.security.krb5.conf path
java.security.krb5.conf.path=/opt/krb5.conf

# login user from keytab username
login.user.keytab.username=hdfs-mycluster@ESZ.COM

# login user from keytab path
login.user.keytab.path=/opt/hdfs.headless.keytab

# kerberos expire time, the unit is hour
kerberos.expire.time=2

# resourcemanager port, the default value is 8088 if not specified
resource.manager.httpaddress.port=8088
# if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty
yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx
# if resourcemanager HA is enabled or not use resourcemanager, please keep the default value; If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname
yarn.application.status.address=http://ds1:%s/ws/v1/cluster/apps/%s
# job history status url when application number threshold is reached(default 10000, maybe it was set to 1000)
yarn.job.history.status.address=http://ds1:19888/ws/v1/history/mapreduce/jobs/%s

# datasource encryption enable
datasource.encryption.enable=false

# datasource encryption salt
datasource.encryption.salt=!@#$%^&*

# data quality option
data-quality.jar.name=dolphinscheduler-data-quality-dev-SNAPSHOT.jar

#data-quality.error.output.path=/tmp/data-quality-error-data

# Network IP gets priority, default inner outer

# Whether hive SQL is executed in the same session
support.hive.oneSession=false

# use sudo or not, if set true, executing user is tenant user and deploy user needs sudo permissions; if set false, executing user is the deploy user and doesn't need sudo permissions
sudo.enable=true
setTaskDirToTenant.enable=false

# network interface preferred like eth0, default: empty
#dolphin.scheduler.network.interface.preferred=

# network IP gets priority, default: inner outer
#dolphin.scheduler.network.priority.strategy=default

# system env path
#dolphinscheduler.env.path=dolphinscheduler_env.sh

# development state
development.state=false

# rpc port
alert.rpc.port=50052

# set path of conda.sh
conda.path=/opt/anaconda3/etc/profile.d/conda.sh

# Task resource limit state
task.resource.limit.state=false

# mlflow task plugin preset repository
ml.mlflow.preset_repository=https://github.com/apache/dolphinscheduler-mlflow
# mlflow task plugin preset repository version
ml.mlflow.preset_repository_version="main"

# ljh --> minio must open path style
resource.aws.s3.path.style.access=true
3、dolphinscheduler 可视化页面添加租户

安全中心 - 租户管理 - 创建租户

用户添加租户

演示

创建文件夹、上传文件成功

如图,数据已经存放在我指定的minio文件夹里面了