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(可选)

安装步骤

下载安装包: 从[三倍镜官方网站](http://triplemirror.com/products/" \t "https://kimi.moonshot.cn/chat/_blank)或公众号下载最新版本的安装包。

**解压安装包:**将下载的安装包解压到目标目录。

**启动服务:**通过启动脚本启动DPDI服务(Windows:执行startup.bat,Mac和Linux:执行startup.sh)。

访问系统: 打开浏览器,访问DPDI的登录页面(http://ip:8082/)[,使用默认用户名和密码登录(](http://dpdi.pizzalord.xn--site),-1t9i242ax6au79blhj62ibj8da302cj8gsq1hhivd./" \t "https://kimi.moonshot.cn/chat/_blank)默认用户名: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://triplemirror.com/" \t "https://www.kimi.com/chat/_blank)

联系方式

官方网站: http://triplemirror.com

演示环境:http://dpdi.triplemirror.com

反馈与建议 :通过官网联系 我们 提交表单或加入 DPDI官方 QQ 交流 群(755592797)

加V进微信交流群: DPDIonline

感谢阅读!!!关注我获取更多最新动态