DPDI:Kettle任务调度与管理的高效解决方案
DPDI:Kettle任务调度与管理的高效解决方案
引言
在企业大规模数据处理领域,Kettle(Pentaho Data Integration)作为一款广受欢迎的开源ETL工具,以其强大的数据处理能力和灵活性赢得了广大数据工程师的青睐。然而,Kettle在任务调度、任务管理和监控的功能较为薄弱,这在一定程度上限制了其在企业应用中的使用和推广。为了解决这个问题,满足企业应用的需要,Dispatch PDI(以下简称DPDI)应运而生,为Kettle用户带来了全新的任务调度和管理平台。
DPDI产品介绍
DPDI简介
DPDI(全称Dispatch PDI)是一款以Kettle任务调度与监控为核心的多人协作平台。在提供简约、灵活、高效的调度配置和调度监控等核心功能基础之上,DPDI为用户提供齐备的调度任务资源管理功能,通过DPDI用户可以轻松地将ETL服务器、ETL任务、数据源等各种资源进行有机整合,DPDI一站式满足用户对Kettle任务的调度与管理需要。
DPDI特性
- 一键部署:支持Windows,Mac和Linux环境,一键完成部署,轻松实现智能化操作。
- 优雅界面:配备美观易用的UI,提供便捷的可视化操作体验。
- 灵活部署:支持属地化部署,精准满足您的特定业务需求。
- 自主研发:由三倍镜成员团队共同研发,确保平台的创新性和专业性。
- 定制化开发:提供个性化定制服务,灵活适应市场变化。
- 分布式多版本支持:无缝整合多服务器与多种Kettle版本,确保任务执行的兼容性与一致性。
DPDI功能清单
DPDI的功能模块涵盖了任务监控、资源管理、任务管理、预警管理、系统管理等多个方面,以下是核心功能的详细介绍:
功能介绍
首页
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=[密码]
关于
提供系统简介、版本及版权信息,助您快速掌握系统基本情况。版权信息随版本更新而调整,便于您全面了解系统详情。
关于界面
智能问答
三倍镜公众号智能问答,助力用户高效解答平台操作、功能疑问等常见问题。我们不断优化升级,定期更新知识库,确保提供最新、最准确的信息,让服务更智能便捷。
最佳实践
为了确保您能够更高效、更便捷地管理和访问数据,我们强烈建议您在部署完成后,将数据库存储方式更换为MySQL。这一步骤不仅能够提升您的使用体验,还能为您的数据管理提供更多的灵活性和稳定性。
为什么选择MySQL?
高性能:MySQL能够处理大量数据和高并发访问,确保数据处理的高效性。
稳定性:作为广泛使用的数据库系统,MySQL以其稳定性和可靠性著称。
易用性:MySQL提供了丰富的工具和接口,使得数据的备份、恢复和管理变得更加简单。
默认配置:目前,Dispatch PDI默认使用的是H2数据库。虽然H2在某些情况下表现良好,但在处理大量数据或需要高性能时,它可能不是最佳选择。
H2访问方式:
http://localhost:8082/h2-console
用户名:sa
密码:无
如何更换数据库?
更换数据库存储方式非常简单,您可以直接在Dispatch PDI系统中完成这一操作。以下是详细的步骤:
登录Dispatch PDI:使用默认或您设置的账号信息登录到Dispatch PDI系统。
访问系统配置:在左侧菜单,找到系统管理点击展开可看到“系统配置”。
更换数据库配置:
点击系统配置菜单,右侧点编辑
数据库驱动下拉菜单选择mysql。
输入您的MySQL数据库的连接信息,包括数据库地址、端口、用户名、密码等。
点击“测试”或“确认”按钮,以保存您的新数据库配置
提示保存成功,系统将会自动完成重启,请稍后再试即可完成配置
DPDI安装部署与升级指南
系统要求
操作系统:Windows、Mac、Linux
硬件要求:至少1GB内存,推荐2GB以上
软件依赖:Java运行环境(JDK 1.8或以上),Docker(可选)
安装步骤
下载安装包:从三倍镜官方网站或公众号下载最新版本的安装包。
解压安装包:将下载的安装包解压到目标目录。
启动服务:通过启动脚本启动DPDI服务(Windows:执行startup.bat,Mac和Linux:执行startup.sh)。
访问系统:打开浏览器,访问DPDI的登录页面(http://ip:8082/),使用默认用户名和密码登录(默认用户名:dpdi 默认密码dpdi@123456)。
升级指南
停掉DPDI服务:Windows:关闭DPDI运行程序。Mac和Linux:执行命令sh stop.sh。
替换DPDI升级包:更换lib下的dpdi.jar包。
重启服务:Windows:运行启动程序startup.bat。Mac和Linux:运行启动程序startup.sh。
刷新页面自动升级:刷新页面系统自动完成升级。
常见问题解答
Q1:DPDI开源?
A1:DPDI暂不开源,但能永久免费使用,且已发布的版本在功能方面没有设置任何限制。
Q2:DPDI如何保证数据安全?
A2:DPDI支持属地化部署确保数据存储合规,支持kettle任务历史版本的上传与归档,即便用户误删,也能快速找回。同时DPDI可通过功能权限管理,严格控制数据访问权限,全方位保障用户数据的安全性和可靠性。
Q3:DPDI支持多用户协作吗?
A3:是的,DPDI支持多用户协作,并提供基于角色的权限管理功能,确保每个用户只能访问和操作自己权限范围内的功能菜单。
Q4:本地运行任务是否需要需要配置JDK
A4:不需要配置JDK,DPDI启动脚本会自动检查并配置Kettle运行所需的所有配置。
Q5:本地运行是否需要安装kettle
A5:由于不同用户的Kettle版本存在差异,本地运行时,用户需自行下载Kettle安装包(注:三倍镜公众号可获取kettle各版本下载链接),并将其置于启动脚本startup.* 的同目录下,文件需命名为data-integration。
Q6:DPDI如何处理任务失败?
A6:DPDI提供实时监控和预警功能,一旦任务失败,系统会自动发送通知(如邮件、企业微信、钉钉等),用户可以通过日志管理功能快速定位问题并进行处理。
Q7:DPDI支持哪些数据库?
A7:DPDI 支持Kettle支持的所有数据库连接配置。我们提供 JNDI 快速配置模板,涵盖 MySQL、PostgreSQL、Oracle、SQL Server 等主流数据库。对于未提供模板的数据库,只要Kettle支持,DPDI同样支持,用户可依据Kettle的连接配置信息自行完成设置。
Q8:DPDI如何实现多服务器多kettle版本运行任务
A8:DPDI远程运行支持多服务器、多Kettle版本的任务配置。用户在设备管理中配置运行主机信息,并提前在主机上安装Docker环境。在版本管理中添加三倍镜提供的镜像地址(镜像包支持离线和在线两种方式,具体下载地址可在三倍镜公众号获取),即可完成多Kettle版本配置。DPDI将自动为多台运行主机配置多个Kettle版本,实现多版本灵活运行。
Q9:DPDI是否支持对kettle任务进行编辑
A9:DPDI作为Kettle的调度管理系统,主要用于任务调度,不推荐在DPDI上直接编辑Kettle任务。
Q10:kettle任务中已配置JDBC连接信息是否需要在DPDI中进行JNDI配置
A10:不需要:连接配置是针对kettle任务中采用JNDI方式的配置。
Q11:升级是否需要重新部署
A11:不需要,只需替换dpdi.jar包,刷新页面点击升级即可自动完成升级。
商务合作
三倍镜团队可提供以下专业服务
永久免费使用 :核心软件DPDI向用户开放永久免费使用权,助力企业降低基础软件成本投入,快速启动数据相关业务。
付费咨询 :针对使用过程中遇到的专业问题,提供有偿咨询服务,凭借深厚expertise,为企业答疑解惑,保障业务顺畅推进。
支持定制化开发 :根据企业独特需求,量身定制DPDI扩展功能与集成方案,实现软件与业务的高度契合。
DPDI官网:http://triplemirror.com
联系方式
演示环境:http://dpdi.triplemirror.com
反馈与建议:通过官网联系我们提交表单或加入DPDI官方QQ交流群(755592797)
加V进微信交流群:DPDIonline
感谢阅读!!!关注我获取更多最新动态
DPDI:Kettle任务调度与管理的高效解决方案的更多相关文章
- kettle系列-我的开源kettle调度、管理平台[kettle-manager]介绍
kettle管理工具 专门为kettle这款优秀的ETL工具开发的web端调度.管理工具. 新版本 项目简介 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操 ...
- PostgreSQL插件那么多,怎样管理最高效?
摘要:华为云RDS for PostgreSQL通过插件管理功能,很好地解决了PostgreSQL版本与插件耦合的问题,帮助用户更直观.更快速地安装管理数据库插件. 本文分享自华为云社区<Pos ...
- #研发中间件介绍#定时任务调度与管理JobCenter
郑昀 最后更新于2014/11/11 关键词:定时任务.调度.监控报警.Job.crontab.Java 本文档适用人员:研发员工 没有JobCenter时我们要面对的: 电商业务链条很长,业 ...
- kettle使用log4j管理输出日志
在使用kettle进行数据分析和清洗时日志非常多而且杂乱,使用原有的日志有时找不到异常的位置,有时日志不够详细,说简单一点就是日志不是我们想要的.因而对kettle日志进行相应的管理就想得尤为重要了. ...
- VS Code 管理 .NET Core解决方案
本练习要使用Visual studio code完成一个包含多个项目的解决方案,包括类库和Web项目.结合Visual Studio Code和.NET Core CLI,创建项目结构如下: pied ...
- JAVA架构之单点登录 任务调度 权限管理 性能优化大型项目实战
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...
- 基于Asp.Net Core 5.0依赖Quartz.Net框架编写的任务调度web管理平台
源码地址: https://github.com/246850/Calamus.TaskScheduler 演示地址:http://47.101.47.193:1063/ 1.Quartz.NET框架 ...
- WMI查看电脑信息,devenv管理自己的解决方案
最近把公司用的电脑重装了一下,期间用到了驱动精灵,驱动精灵把电脑的全方面信息都显示出来了,让人有种一目了然的感觉,为什么我不自己也写个呢?虽然显示的数据不一定有驱动精灵全单至少是我自己写的,不是吗? ...
- #研发解决方案介绍#Tracing(鹰眼)
郑昀 最后更新于2014/11/12 关键词:GoogleDapper.分布式跟踪.鹰眼.Tracing.HBase.HDFS. 本文档适用人员:研发 分布式系统为什么需要 Tracing? ...
- #研发解决方案介绍#IdCenter(内部统一认证系统)
郑昀 基于朱传志的设计文档 最后更新于2014/11/13 关键词:LDAP.认证.权限分配.IdCenter. 本文档适用人员:研发 曾经一个IT内部系统配一套帐号体系和授权 线上生产环境里 ...
随机推荐
- MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
MySQL 中 count(*).count(1) 和 count(字段名) 的区别 在 MySQL 中,COUNT() 函数用于统计记录数.虽然 COUNT(*).COUNT(1) 和 COUNT( ...
- css给dom插入/追加文字/内容
A.使用选择器来插入内容 h2:before{ content:"前缀"; } h2:after{ content:"后缀"; } B.指定个别的元素不进行插入 ...
- Web前端入门第 42 问:聊聊 CSS 元素上下左右(水平+垂直)同时居中有几种方法
影响元素位置的 CSS 属性基本介绍完毕(参考前几篇文章),现思考一个最常见的需求: 一个子元素,要摆放在盒子的正中央,使用 CSS 布局手段,究竟有多少种实现方式? 上下左右(水平方向.垂直方向)要 ...
- sonarqube+gitlab+jenkins+maven集成搭建(四)
安装Gitlab 关闭firewalld防火墙和selinux防火墙,如图1-2:[root@localhost ~]# systemctl stop firewalld[root@localhost ...
- jdk源码目录说明
- 工具使用之“contains包含的使用总结”
一.集合之间的包含 1.判断listOne是否全部包含listTow中的值 格式:CollectionUtils.containsAll(listOne, listTow) 或 listTow.con ...
- 推荐一个Elasticsearch ES可视化客户端工具:ES-King
ES-King:开源免费,一个现代.实用的ES GUI客户端,支持多平台. 下载地址:https://github.com/Bronya0/ES-King 功能清单 详尽的集群信息:节点信息.堆内存占 ...
- 为什么使用MQ
在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量. 开发中消息队列通常有如下应用场景: 1.任务异步处理 ...
- 🚀 Python f-string 全攻略:从入门到大师,让你的编码效率翻倍!
目录 什么是 f-string 基础用法 变量插值 表达式嵌入 调用函数 数字格式化 千位分隔符 控制小数位数 百分比转换 科学计数法 文本对齐与填充 填充对齐 自定义填充字符 日期时间格式化 进阶技 ...
- 基于Streamlit的BS直聘数据爬取可视化平台(爬虫)
一.项目介绍 本项目是一个基于Streamlit和Selenium的BOSS直聘职位数据爬虫系统,提供了友好的Web界面,支持自定义搜索条件.扫码登录.数据爬取和导出等功能. 1.1 功能特点 支持多 ...