DPDI(Dispatch PDI)kettle调度管理平台之介入前后的对比剖析
DPDI(Dispatch PDI)kettle调度管理平台
--介入前后的对比剖析
引言
在数据处理领域,Kettle(Pentaho Data Integration)作为一款广受欢迎的开源ETL工具,以其强大的数据处理能力和灵活性赢得了众多用户的青睐。然而,Kettle在任务调度和监控方面的功能相对薄弱,这在一定程度上限制了其在复杂数据处理场景中的应用。为了克服这一局限,Dispatch PDI(以下简称DPDI)应运而生,为Kettle用户带来了全新的任务调度和管理体验
DPDI简介
DPDI定义
DPDI(全称Dispatch PDI)是一款基于Kettle的强大在线任务调度平台,凭借其高效与灵活性,专为调度和监控Kettle客户端生成的ETL任务而设计,是您的智能ETL任务调度专家
DPDI特性
- 一键部署:支持Windows,Mac和Linux环境,一键完成部署,轻松实现智能化操作。
- 优雅界面:配备美观易用的UI,提供便捷的可视化操作体验。
- 灵活部署:支持属地化部署,精准满足您的特定业务需求。
- 自主研发:由三倍镜成员团队共同研发,确保平台的创新性和专业性。
- 定制化开发:提供个性化定制服务,灵活适应市场变化。
- 分布式多版本支持:无缝整合多服务器与多种Kettle版本,确保任务执行的兼容性与一致性。
DPDI功能清单
kettle在没有DPDI前后对比
没有DPDI之前:如何配置定时任务?
Windows配置定时任务
第一步:先写bat文件
第二步:设置任务计划程序
Linux配置定时任务:主要通过crond设置
没有DPDI之前:Kettle任务的调度管理困境
手动操作繁琐
在没有DPDI之前,Kettle的任务调度主要依赖于命令行工具,如Linux的Crontab或Windows的计划任务。用户需要手动编写脚本,配置任务的执行时间和顺序。这种方式不仅操作复杂,而且容易出错,尤其是在任务数量较多或任务依赖关系复杂时,管理难度显著增加。
任务监控困难
缺乏统一的监控界面,用户无法实时查看任务的执行状态。一旦任务失败,需要手动查看日志文件来排查问题,这不仅耗时耗力,还可能导致问题发现和解决的延迟。
性能受限
缺乏动态资源分配机制,导致任务优先级与资源需求无法精准匹配,进而引发资源闲置或任务执行延迟等问题。此外,传统的Cron调度方式存在明显局限性,异步调用时间难以有效错峰,任务触发精度不足,进一步影响整体调度效率和资源配置的灵活性。
安全性不足
Kettle客户端的文件库内容在系统崩溃时容易丢失,缺乏数据备份和恢复机制。同时,没有统一的权限管理功能,无法对用户进行细粒度的权限控制,存在数据泄露和误操作的风险。
用户体验不佳
Kettle本身的操作界面较为复杂,缺乏可视化和交互性,用户操作体验较差。此外,部署过程繁琐,需要手动配置环境变量、安装依赖,对技术要求较高。
有了DPDI之后:功能与体验的全面提升
集中化任务管理
DPDI提供统一的任务管理界面,用户可以通过图形化界面直观地定义、监控和调整任务。任务的执行状态、日志和依赖关系一目了然,极大地提升了任务管理的效率和便捷性。
灵活的调度策略
支持多种调度方式,包括基于时间的Cron调度、基于事件的触发调度(任务间隔)等。用户可以根据业务需求灵活设置任务的执行时间和触发条件,满足复杂场景下的调度需求。
性能优化与提升
DPDI能够根据配置主机的空闲程度动态分配资源,确保任务高效执行。自研调度机制并修复了Cron调度方式的重复调用问题,确保任务触发精准到秒,提升了调度的稳定性和可靠性以及可扩展性。
增强的数据安全性
提供数据备份和恢复功能,确保数据的安全性和可靠性。基于RBAC(角色基权限控制)模式,DPDI支持对用户、角色和权限的细粒度管理,确保每个用户只能访问和操作自己权限范围内的任务和数据。
优化的用户体验
支持Windows、Mac和Linux环境,用户可以通过简单的启动脚本快速完成部署,无需复杂的配置。配备美观易用的UI,提供便捷的可视化操作体验,降低了使用门槛,提升了用户的操作体验。
DPDI如何解决实际问题
快速部署任务
通过DPDI的图形化界面,用户可以快速导入资源文件(.xml)或通过文件路径配置方式获取Kettle生成的ETL任务,并设置任务的调度策略(如Cron表达式,间隔执行等)。例如,在DPDI实操演练001讲中,用户可以轻松上传kettle作业和转换文件、文件夹等,并配置任务的运行环境和参数。
通过仓库管理快速导入或配置路径获取kettle任务
DPDI仓库管理支持文件资源库和数据库资源库两种类型。对于数据库资源库,用户仅需配置数据库连接信息即可快速接入。文件资源库则提供两种便捷方式:用户可以直接导入Kettle导出的XML资源库文件,也可以通过配置资源库路径直接获取Kettle任务。
资源库配置完成后,用户可在仓库明细页对修改后的Kettle任务进行单个上传更新,也可通过文件夹批量上传的方式来管理kettle任务,真正实现任务的高效管理。
通过任务配置界面快速配置kettle任务调度策略
DPDI提供直观的图形化任务配置界面,支持本地文件和资源库两种任务类型调度。调度方式灵活多样,包括手动触发、任务间隔设置以及Cron表达式三种模式。其中,Cron表达式采用自研调度机制,用户可以通过图形化界面便捷选择定时策略,或直接输入表达式快速设定定时时间。每一步设置均配备实时结果显示,并提供近5次运行时间的详细记录,帮助用户精准确认任务定时设置的正确性,确保调度操作高效、精准,全面提升任务管理体验。
实时监控任务
DPDI提供实时监控功能,用户可以随时查看任务的执行状态、日志和性能指标。一旦任务失败,系统会自动发送预警通知(如邮件,企业微信或钉钉),帮助用户快速定位和解决问题。
任务监控界面
任务日志界面
灵活调整任务
用户可以根据业务需求随时调整任务的执行时间和优先级,确保任务调度的灵活性和适应性。例如,在DPDI实操演练中,用户可以轻松修改任务的Cron表达式或参数,以适应新的业务需求。
任务调整界面
资源管理与优化
DPDI支持多服务器多kettle版本运行任务。同时,DPDI会根据任务的负载情况自动调整资源分配,确保任务的高效执行。
设备管理界面
权限管理与安全
通过DPDI的系统管理菜单,管理员可以为不同用户分配不同的权限,确保数据的安全性和操作的规范性。例如,在DPDI实操演练中,管理员可以为ETL开发人员(ETL开发人员不需看到正式环境密码)和运维人员(运维人员不能编辑任务配置等)设置不同的权限,确保任务的安全执行。
权限管理界面
详细功能模块解析
首页
DPDI首页主要是显示任务监控信息,当一个任务(kettle作业或转换)启动后,这个任务就处于被DPDI监控状态下。首页主要展示了任务运行统计指标和任务运行趋势,任务运行统计包含四个指标:总执行任务数、执行中任务数(执行中和待执行任务)、成功任务数、失败任务数。每个指标可点击跳转到日志明细,方便用户快速查看任务运行情况。任务运行趋势可对近一周、近一月、所有任务执行趋势及占比分析,让使用者很清晰的监控任务运行情况。
首页界面
资源管理
资源管理主要是对任务的运行环境进行配置和管理,对kettle客户端开发好的任务(作业和转化)进行管理以及对任务需要的数据库连接进行配置和管理,包括设备管理、JNDI管理、仓库管理、变量管理、版本管理五个功能模块。
设备管理
设备管理可对任务远程运行环境进行新增和编辑,可省去使用者对任务运行环境的部署。用户只需要新增配置服务器信息(可以是N台ETL机器),DPDI会自动部署任务运行环境到指定路径,大大省去了使用者部署成本。
设备管理界面
JNDI管理
JNDI管理可配置kettle任务需要的JNDI连接信息(注:JDBC连接方式只需在kettle任务配置即可,DPDI会自动获取JDBC连接信息),具体配置项包含数据库名称(这里需要和kettle配置的JNDI名称一致)、数据库描述、数据库驱动、数据库URL(连接需要的更多设置用&符拼接)、数据库用户名、数据库密码(注:选择类型可在下拉菜单中选择常用数据库类型配置模板),配置信息保存在jdbc.properties文件中。
JNDI管理界面
仓库管理
仓库管理专注于对Kettle客户端开发任务(含转换与作业)的高效管控。其具备强大资源库导入功能,涵盖数据资源库及文件资源库。文件资源库导入方式灵活,既可通过导入Kettle客户端导出的资源库 xml 文件实现,也可直接配置资源库路径获取Kettle任务。同时,仓库管理支持对导入的历史版本进行实时监控与便捷查看,方便用户追溯任务演变历程。在仓库明细页面,用户可灵活创建目录及单个任务文件,还能以文件夹形式批量导入任务。此外,DPDI仓库管理提供任务简单预览功能,助力用户快速掌握任务概况,提升工作效能。
仓库管理界面
仓库明细界面
变量管理
使用kettle变量可实现ETL的复用、D,Q,P环境不同使用变量方便发布、有的条件需要外部传入、实现增量ETL、灵活性强等用处,这里的环境变量设置保存在kettle.properties文件中,路径为:${KETTLE_HOME}\kettle.properties,主要存放PDI的通用参数。
变量管理界面
版本管理
版本管理可对PDI官网发布的版本进行添加和管理,可新增和修改版本中对应的JAR(对lib目录下的JAR进行新增和删除)。该功能主要是帮助用户对多版本运行需求的管理,DPDI已管理和维护了12个版本,用户部署后可直接选择使用。
版本管理界面
任务管理
任务管理作为DPDI的核心功能模块,同时也是kettle调度管理系统存在的主要短板所在。其关键价值在于对kettle开发的任务开展调度配置管理,并支持对任务运行日志进行查看与监控,整体架构涵盖任务配置以及运行历史这两大核心功能模块。
任务配置
任务配置为Kettle开发任务的调度管理提供了全方位的解决方案。在功能设置上,全面覆盖任务基础信息的精细化设定,包括准确填写任务名称、合理配置日志级别以及明确选择任务类型等关键要素,确保任务从创建伊始便拥有完整且规范的基本信息架构。
运行方式选择上,提供灵活多样的模式以适配不同业务场景需求。用户可根据实际情况选择自动或手动运行方式。自动运行模式下,既可通过熟练手工输入精确的 Cron 表达式,也可便捷地点击设置,借助直观的页面配置工具完成设定,充分满足不同用户操作习惯与任务调度精细化要求。值得一提的是,自动运行模式还支持任务间隔调度方式,只有当任务运行有结果后才根据间隔设置执行任务。
在运行环境选择方面,为用户打造了灵活且强大的配置体系。支持选择运行主机,涵盖本地和远程两种环境。若选择远程运行,可进一步挑选适配的运行版本;而本地运行时则默认使用Kettle版本,同时需注意最小内存必选值应大于 512M,以保障任务运行的稳定性和流畅性,最大内存设置也应合理规划,确保资源充分利用。
此外,DPDI 任务配置功能全新升级,特别增加了任务类型为 “本地文件运行” 的选项。这一创新设计主要旨在方便用户无需构建资源库,即可快速执行任务。用户仅需简单操作,即可直接通过本地文件运行任务,极大地简化了任务执行前的准备工作,有效提升工作效率,尤其适用于对任务执行效率有较高要求的场景,让用户能够迅速响应业务需求,实现任务的即时运行与管理。
DPDI 的任务调度机制由三倍镜团队自主研发,拥有完整的源代码知识产权。这不仅保障了平台的创新性与专业性,还为调度其他 ETL 工具提供了可能,为未来的功能拓展奠定了坚实基础。
任务配置界面
DPDI的任务配置极为简便,仅需选定已配置的资源库,找到相应任务路径,即可快速完成调度任务配置。
运行历史
运行历史,是对kettle任务运行的情况进行日志记录,详尽的日志管理能帮助追踪任务状态和历史,可通过任务名称和任务状态以及运行时间进行筛选查看,方便用户快速定位、诊断问题。
运行历史界面
预警管理
DPDI 预警管理是针对Kettle任务运行错误的预警通知设置,设有预警配置与预警记录两个模块。DPDI支持邮箱、钉钉和企业微信三种常见预警方式,当任务执行失败时,可迅速通过上述渠道向用户发送通知,助力用户迅速察觉异常,保障任务执行的连续性与稳定性。此外,用户能借助日志文件精准定位报错成因,为高效的任务监控与问题溯源提供有力支撑。
预警配置
DPDI 预警配置支持邮箱、钉钉、企业微信三种方式,配置方法有详细指引,完成后可一键测试验证。
预警配置界面
预警记录
DPDI 预警记录任务失败预警通知发送历史,助力快速溯源问题。
预警记录界面
系统管理
系统管理负责用户功能权限和DPDI系统存储配置,涵盖用户管理、权限管理、菜单管理和系统配置四个模块。
用户管理
用户管理可便捷分配角色和权限,保障系统安全
用户管理界面
权限管理
权限管理可灵活配置功能菜单权限
权限管理界面
菜单管理
菜单管理通过点击“同步”按钮,快速查看所有菜单及功能模块信息
菜单管理界面
系统配置
DPDI系统配置支持快速切换应用数据库存储,变更后系统自动检测并更新,实现智能化操作。默认启动存储在h2数据库,用户登录后可在系统配置中修改。如需部署时直接存储到mysql,提前准备db.properties文件并置于DPDI启动脚本starup.*同目录即可。
系统配置界面
db.properties文件路径
请在DPDI的db.properties 文件中填写以下内容:
驱动类型:指定为 MySQL 数据库驱动,连接信息:输入 MySQL 数据库的详细连接信息,包括数据库服务器地址、端口号、用户名及密码。
示例格式如下:
driverClassName = com.mysql.jdbc.Driver
url=jdbc:mysql://[数据库地址]:[端口]/[数据库名称]
username=[用户名]
password=[密码]
关于
提供系统简介、版本及版权信息,助您快速掌握系统基本情况。版权信息随版本更新而调整,便于您全面了解系统详情。
关于界面
智能问答
三倍镜公众号智能问答,助力用户高效解答平台操作、功能疑问等常见问题。我们不断优化升级,定期更新知识库,确保提供最新、最准确的信息,让服务更智能便捷。
DPDI(Dispatch PDI)kettle调度管理平台之介入前后的对比剖析的更多相关文章
- 基于kettle8的web端调度监控平台
发布时间:2018-11-16 技术:spring+springmvc +beetlsql+quartz+kettle8 概述 Kettle调度监控平台(以下简称KS)是一个自主开发的java ...
- kettle系列-我的开源kettle调度、管理平台[kettle-manager]介绍
kettle管理工具 专门为kettle这款优秀的ETL工具开发的web端调度.管理工具. 新版本 项目简介 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操 ...
- kettle系列-kettle管理平台部署说明
本介绍我的开源项目[kettle-manager]kettle管理平台如何获取并部署使用,该项目介绍请参看另一篇博文:http://www.cnblogs.com/majinju/p/5739820. ...
- 【开源】基于 SpringBoot 的 web kettle 在线采集平台
kettle-scheduler-boot 开发计划 序号 项目 状态 优先级 1 在线管理,编辑kettle脚本 紧急 2 通过源码实现集群,多线程执行任务 紧急 2 重构jpa部分,改为mybat ...
- 一个简单易用的容器管理平台-Humpback
什么是Humpback? 在回答这个问题前,我们得先了解下什么的 Docker(哦,现在叫 Moby,文中还是继续称 Docker). 在 Docker-百度百科 中,对 Docker 已经解释得很清 ...
- 分布式缓存管理平台XXL-CACHE
<分布式缓存管理平台XXL-CACHE> 一.简介 1.1 概述 XXL-CACHE是一个分布式缓存管理平台,其核心设计目标是"让分布式缓存的接入和管理的更加的简洁和高效&quo ...
- 容器、容器集群管理平台与 Kubernetes 技术漫谈
原文:https://www.kubernetes.org.cn/4786.html 我们为什么使用容器? 我们为什么使用虚拟机(云主机)? 为什么使用物理机? 这一系列的问题并没有一个统一的标准答案 ...
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
随着"互联网+"时代的业务增长.变化速度及大规模计算的需求,廉价的.高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统.Docker及 ...
- 基于zookeeper+mesos+marathon的docker集群管理平台
参考文档: mesos:http://mesos.apache.org/ mesosphere社区版:https://github.com/mesosphere/open-docs mesospher ...
- OpenPAI:大规模人工智能集群管理平台介绍及任务提交指南
产品渊源: 随着人工智能技术的快速发展,各种深度学习框架层出不穷,为了提高效率,更好地让人工智能快速落地,很多企业都很关注深度学习训练的平台化问题.例如,如何提升GPU等硬件资源的利用率?如何节省硬件 ...
随机推荐
- 小米手机/红米手机解锁BL详细教程
由于MIUI解锁风控提升,全部小米默认为支持解锁BootLoader的 但需要登录小米账号后,到开发者选项将设备和账号绑定0-1000小时,一般默认为168小时,部分新机实际几百小时,具体绑定时间,我 ...
- AWS - [01] 概述
题记部分 001 || 概述 AWS,全称Amazon Web Services,是亚马逊公司旗下的云计算服务平台,自2006年起向全球用户提供广泛而深入的云计算服务.AWD是全球最全面.应用最广 ...
- VMware虚拟机上安装Kali Linux详细教程
1.Kali Linux简介 Kali Linux是一个基于Debian的开源Linux发行版,集成了精心挑选的渗透测试和安全审计的工具,供渗透测试和安全设计人员使用,面向各种信息安全任务:如渗透测试 ...
- Vue3组件通信全攻略:多种方式详解+实战场景,轻松玩转复杂数据流!
一.组件通信为何如此重要? 在大型Vue项目中,组件通信如同神经网络般贯穿整个应用.良好的通信机制能: 实现组件解耦 提升代码可维护性 构建清晰数据流 支撑复杂业务场景 二.父子组件通信:核心通信模式 ...
- 使用Node.js打造交互式脚手架,简化模板下载与项目创建
在上一篇文章中,我们探讨了如何构建一个通用的脚手架框架.今天,我们将在此基础上进一步扩展脚手架的功能,赋予它下载项目模板的能力. 通常情况下,我们可以将项目模板发布到 npm 上,或者在公司内部利用私 ...
- [评测/调研/AIGC/流媒体] 视频内容自动生成摘要工具
概述:视频内容自动生成摘要工具 SolidPoint | 仅支持 简介 SolidPoint 是一款AI驱动的在线视频摘要工具,专注于自动生成YouTube视频的简洁摘要. 通过分析视频内容提取关键点 ...
- typora 标题未在大纲中显示解决方法
解决方法:切换到源代码模式(快捷键是Ctrl +/),用鼠标选择未与前文对齐的标题和内容,按Shift+Tab,将内容对齐之后,大纲就能够正常显示了.
- 介绍一个不知道怎么形容的小东西--Proxy
what's this? The Proxy object is used to define custom behavior for fundamental operations (e.g. pro ...
- Linux指令详解之:进程与系统负载
目录 5.4 进程(process) 5.4.1 守护进程 5.4.2 僵尸进程 5.4.3 孤儿进程 6.0 进程监控指令 6.0.1 ps(报告当前系统的进程状态) 6.0.2 ps aux 结果 ...
- 基础指令:三剑客之sed、三剑客之awk详解
目录 4.9 三剑客之sed(查找.替换.删除.插入) 作用: 语法格式: 4.9.1 sed指定行输出 [行数]p 4.9.2 sed模糊搜索 /[字符串]/p 4.9.3 按照区间进行过滤查找 [ ...