dolphinscheduler 3.0.1 资源中心

这篇具有很好参考价值的文章主要介绍了dolphinscheduler 3.0.1 资源中心。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔼上一集:dolphinscheduler 3.0.1 项目管理(三):任务

*️⃣主目录:dolphinscheduler 3.0.1功能梳理及源码解读

🔽下一集:dolphinscheduler 3.0.1数据质量

官网介绍

资源中心通常用于上传文件、UDF 函数和任务组管理。 对于 standalone环境,可以选择本地文件目录作为上传文件夹(此操作不需要Hadoop部署)。当然,你也可以 选择上传到 Hadoop 或者 MinIO 集群。在这种情况下,您需要有 Hadoop(2.6+)或 MinION 等相关环境。

🐬配置HDFS存储


🐠common.properties配置文件


修改API下面的common.properties中hdfs存储配置信息

data.basedir.path=/tmp/dolphinscheduler3 
resource.storage.type=HDFS
resource.storage.upload.base.path=/dolphinscheduler
hdfs.root.user=hadoop 
fs.defaultFS=hdfs://192.xxx.xxx.xx:8020
resource.manager.httpaddress.port=8088
yarn.resourcemanager.ha.rm.ids=192.xxx.xxx.xx,192.xxx.xxx.xx,192.xxx.xxx.xx

指定基础目录,一开始没改,上传文件报文件不存在,原因是虚拟机部署了2.0,不同用户,相同目录,导致3.0没有权限创建目录

File /tmp/dolphinscheduler/dolphin/resources/3c24469c-5ea4-40ff-ab50-ed27ae49ccaa does not exist

HA高可用模式下要把core-site.xmlhdfs-site.xml 放到对应的conf目录下面

sudo cp /home/hadoop/hadoop/etc/hadoop/core-site.xml api-server/conf/
sudo cp /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml  api-server/conf/

之前2.0遇到过这种错,原因是fs.defaultFS=hdfs://192.xxx.xxx.xx:8020,节点状态为standby,改成active状态的节点即可,但是每次hadoop节点状态切换,就要修改配置文件显然不合理,因此增加yarn.resourcemanager.ha.rm.idscore-site.xmlhdfs-site.xml,成功解决下面的错,但是3.0依然报这个错,最终只能将fs.defaultFS改为active节点才好使

Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error
	at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.checkOperation(StandbyState.java:108)
	at org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.checkOperation(NameNode.java:2094)
	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOperation(FSNamesystem.java:1550)
	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3342)
	at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1208)
	at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:1042)
	at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
	at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604)
	at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572)
	at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556)
	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093)
	at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043)
	at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976)

hdfs查看节点状态 hdfs haadmin -getServiceState 节点名称
dolphinscheduler 3.0.1 资源中心

🐠验证


dolphinscheduler 3.0.1 资源中心

🐬具体功能


🐠表结构

真正使用的时候都是集群模式,因此对资源的操作除了本地资源表t_ds_resources,还涉及对HDFS的增删改查()相互对应的

dolphinscheduler 3.0.1 资源中心
dolphinscheduler 3.0.1 资源中心
dolphinscheduler 3.0.1 资源中心
dolphinscheduler 3.0.1 资源中心

🐠文件管理


🐟文件夹


dolphinscheduler 3.0.1 资源中心
dolphinscheduler 3.0.1 资源中心

🐟代码


  • 直接调用hadoop提供的工具类完成增删改查,不多言
    dolphinscheduler 3.0.1 资源中心
  • 连接hadoop集群亦是如此
    调用调度自己封装的HadoopUtils,操作HDFS之前,先 getInstance(),加载common.properties中配置,连接hadoop集群,然后进行增删改查

🐠UDF管理


同上

🐠任务组管理


官方说明

任务组主要用于控制任务实例并发,旨在控制其他资源的压力(也可以控制Hadoop集群压力,不过集群会有队列管控)。您可在新建任务定义时,可配置对应的任务组,并配置任务在任务组内运行的优先级。

任务组的使用适用于由 worker 执行的任务,master负责执行的节点类型不受任务组控制,例如【switch】节点、【condition】节点、【sub_process】等

  • 获取任务组资源:
    Master 在分发任务时判断该任务是否配置了任务组,如果任务没有配置,则正常抛给 worker 运行;如果配置了任务组,在抛给 worker 执行之前检查任务组资源池剩余大小是否满足当前任务运行,如果满足资源池 -1,继续运行;如果不满足则退出任务分发,等待其他任务结束唤醒。

  • 释放与唤醒:
    当获取到任务组资源的任务结束运行后,会释放任务组资源,释放后会检查当前任务组是否有任务等待,如果有则标记优先级最好的任务可以运行,并新建一个可以执行的event。该event中存储着被标记可以获取资源的任务id,随后在获取任务组资源然后运行。

🐟创建任务组


  • 选择不到项目
    dolphinscheduler 3.0.1 资源中心
    dolphinscheduler 3.0.1 资源中心
  • 排查
    dolphinscheduler 3.0.1 资源中心
    dolphinscheduler 3.0.1 资源中心
    奇怪的是没有查询出数据:
    dolphinscheduler 3.0.1 资源中心
    dolphinscheduler 3.0.1 资源中心
  • 切换admin用户可以查询到
    dolphinscheduler 3.0.1 资源中心
    前面任务定义好像也遇到过这种问题,看最新代码是单独增加了一个查询方法
    dolphinscheduler 3.0.1 资源中心

🐟任务组处理


官方流程图如下(待后续研究到后台主要服务的时候再详细探究吧):
dolphinscheduler 3.0.1 资源中心

🐵其它

最近才用到资源中心的功能(对应2.0.5版本),就是上传python脚本,然后定义shell节点,直接运行python脚本,这种简单应用,创建子目录的的时候遇到过问题,稍微记录下:

  • 跳转/创建子目录失败,都是前端的错,缺少参数和传值

没有传当前目录ID,api缺少参数报错(文件和UDF都缺少):
dolphinscheduler 3.0.1 资源中心
UDF子目录失败,原因也是没把当前目录id传过来:
dolphinscheduler 3.0.1 资源中心

  • 租户不存在:这个其实不算错,一般管理员用户,都是没有租户的,新建的普通用户是没问题的(新增时会强制你选择租户)

  • 未知错

    • 文件删除,重新上传,任务定义选择之后,显示的是之前的老路经,但是资源中心显示的是正确的路径
      登录hdfs查看,发现原先的文件还在,但是重新上传的目录下面又是没有文件的
    • 删除目录,创建子目录,完成之后,发现目录还是在外面

    这些问题都没有复现,看现象就是本地资源表数据和HDFS上面的不一致,能想到的一种可能是,比如刚创建完目录,紧接着要在HDFS上创建的时候,系统不稳导致创建失败,但是本地已经创建成功了,导致两边数据不一致文章来源地址https://www.toymoban.com/news/detail-402389.html

到了这里,关于dolphinscheduler 3.0.1 资源中心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt界面编程(四)—— QMainWindow(一个菜单栏、多个工具栏、多个停靠部件、一个状态栏、一个中心部件)、资源文件

    目录 1. 菜单栏 2. 工具栏 3. 状态栏 4. 停靠部件(也称为铆接部件、浮动窗口) 5. 核心部件(中心部件) 6. 使用UI文件创建窗口 6.1 UI设计窗口介绍 6.2 菜单栏 6.2.1 添加/删除菜单栏 6.2.2 添加菜单 6.2.3 添加菜单项 6.2.4 添加多级菜单 6.3 工具栏 6.3.1 添加/删除工具栏 6.3.

    2024年01月22日
    浏览(38)
  • dolphinscheduler 3.0.1 数据源中心及使用

    🔼上一集:dolphinscheduler 3.0.1数据质量 *️⃣主目录:dolphinscheduler 3.0.1功能梳理及源码解读 🔽下一集:dolphinscheduler 3.0.1 监控中心(上):服务管理 2.0常见数据库都支持,MySQL、PostgreSQL、Oracle、SQLServer、Hive,这样都验证过,都支持,Spark是不支持的,2.0没开发spark数据库组件,

    2023年04月08日
    浏览(30)
  • 第二十章 分布式任务调度中心&DolphinScheduler架构设计

    1、调度系统概述 1.1、调度系统介绍 含义:在 指定时间协调器 通过分布式执行器并行执行任务。 (1)目标 ​ 分布式环境下处理任务调度,在基于给定的时间点,给定的时间间隔或者给定执行次数自动的执行任务。 (2)作用 分布式调度 作业高可用 最大限度利用资源 (

    2024年02月08日
    浏览(31)
  • 【大数据进阶第三阶段之DolphinScheduler学习笔记】DolphinScheduler(海豚调度)的部署指南

    参考官网部署方式:https://dolphinscheduler.apache.org/zh-cn/docs/3.1.3/guide/installation/standalone 部署方式:单机部署,伪集群部署,集群部署。 如果是新手,想要体验 DolphinScheduler 的功能,推荐使用Standalone方式体检。如果你是在生产中使用,推荐使用 集群部署或者 kubernetes。 Standalone

    2024年01月22日
    浏览(34)
  • dolphinscheduler部署排错记录

    问题出现场景: ​ 在部署完ui, worker, master, api四个模块之后,随手建了一个工作流,点击运行的时候,在master节点上出现这个报错。 发送方发送的消息和接收方接收的消息格式不一致,导致报的这个错,但是程序在本地环境上打包成镜像是可以正常跑流程的,部署到K8S之后

    2024年01月21日
    浏览(27)
  • DolphinScheDuler配置

    一、配置前置准备工作 JDK:下载JDK (1.8+),安装并配置 二进制包:在下载页面下载 DolphinScheduler 二进制包 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16 注册中心:ZooKeeper (3.4.6+) 二、创建配置用户免密登录以及权限 useradd dolphinsc

    2024年02月08日
    浏览(28)
  • 解决Dolphinscheduler跨任务流依赖

            最近在用Dolphinscheduler搭建一个数据中台,刚把ODS层的接口抽数任务部署好,现在在开发DWD层的任务,需要新建一个DWD层的任务流,方便和ODS层接口任务流区分开,这就涉及到一个问题,因为DWD层的任务用到了ODS层的表,所以要等到ODS层任务跑完之后再调度DWD层的

    2024年02月11日
    浏览(26)
  • DolphinScheduler 3.1.4详细教程

    第一章 DolphinScheduler介绍 1.1 关于DolphinScheduler Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系

    2024年02月05日
    浏览(28)
  • Apache DolphinScheduler 社区 3 月月报

    各位热爱 DolphinScheduler 的小伙伴们,DolphinScheduler 社区月报开始更新啦!这里将记录 DolphinScheduler 社区每月的重要更新。 社区为 DolphinScheduler 3.2.x 版本做了诸多功能改进和 bug 修复 感谢以下小伙伴 3 月为 Apache DolphinScheduler 所做的精彩贡献(排名不分先后): @abzymeinsjtu,@pink

    2024年04月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包