关于kettle:TASKCTL调度服务平台节点管理

TASKCTL调度治理平台零碎Admin给具备管理员权限的用户,提供了平台级的调度节点治理,系统工程治理,作业类型治理,用户(组)权限治理,常量治理等性能;另外还提供了短信、邮件等平台音讯接口配置保护,强制签入(流程)保护,以及平台调度元信息的导出导入等保护性能。 节点治理平台节点用于治理整个平台的调度管制节点。通过调度服务节点和主代理服务节点,可能部署散布式调度架构;通过主代理以及其上司的从代理,可能部署集群调度架构。在节点治理的拓扑图页面中,展现了整个平台的网络拓扑构造。如下图所示: 最上层惟一的调度服务节点:svrnode,用于治理和管制作业的调度策略和指令。 调度服务的上级节点是主代理节点,用于接管调度指令,和执行具体的作业程序。 主代理的上级节点是从代理节点,主代理和从代理一起造成集群节点。 新增平台节点通过装置节点服务后,还须要通过 “新增平台节点” 性能对后端节点进行实例化。步骤如下: 点击工具栏中的 “+” 图标,弹出创立对话框。抉择须要创立的节点类型(主代理/从代理)和下级节点。输出节点名称,倡议采纳英文字符来命名,能够在形容中通过中文备注输出节点的ip和端口(与后端装置的节点服务统一)点击确定实现节点的创立。编辑平台节点单击节点后,弹出的工具小面板提供了 “编辑” 按钮,不便用户疾速关上节点的编辑侧边窗口。除了新增时的根本属性外,还能够对节点的启用禁用状态,以及该节点的作业最大并发数、虚构资源总量进行保护。另外还提供一键利用工程权限,快捷设置以后节点权限到平台所有工程。如下图所示: 删除平台节点单击节点后,弹出的工具小面板提供了“删除”按钮,不便用户疾速删除该节点。调度服务节点不能删除。如下图: 启动或进行节点单击节点后,弹出的工具小面板提供了 “启动和进行” 按钮,不便用户疾速对该节点进行启动和进行操作。调度服务节点进行后,Web客户端将不必获取利用数据。若长时间进行,倡议设置节点为禁用状态。 节点启动胜利后,状态图标展现为“绿色”。进行后的状态图标展现为“灰色”。另外还会展现“未初始化”,“网络异样”,“节点异样”等多种状态。

April 1, 2022 · 1 min · jiezi

关于kettle:TASKCTL的流程无触发设计

如何了解流程的触发设计?如果您设计了这样主流程,表白您的业务解决逻辑。。。从逻辑上看,您心愿解决1,再同时解决2、解决3,而后解决4,这是没问题的。但您是否想过,这个流程,谁来调,什么时候开始调,什么条件下调。对于这些,TASKCTL都无从晓得。因而,对于这样的主流程,是无奈实现失常调度的,如果您以失常模式启动它,TASKCTL只能从一开始运行到完结,而后立刻又从开始,再到完结,没完没了… … 这,显然不是您想要的。 对于这种决定一个流程什么时候开始运行,什么条件下运行的设计,咱们就称为流程的触发设计。 不论是子流程,还是主流程是否都须要触发设计,怎么设计业务流程触发?不是的。TASKCTL倡议,您的业务解决逻辑,尽量采纳子流程来表白,无需设计流程触发条件。同时咱们设计一个主流程,在主流程中设计触发条件,并触发调用相应的业务子流程。如果您的业务流须要定时触发,罗唆间接设计一个定时器来调用即可。 以下时两种常见的流程触发设计: 1.文件达到触发设计。示意只有当某个标记文件呈现时,再调用相应业务流程 2.定时调度。设计一个定时器来调,指定每天23:01开始调 提醒:不论是文件触发,还是定时触发设计,在monitor启动激活时,只需启动激活相应主流程或定时器即可。

March 29, 2022 · 1 min · jiezi

关于kettle:TASKCTL系统作业异常时如何发送短信与邮件

当TASKCTL作业或零碎产生异样时,零碎会主动生成音讯。如果你设置了短信邮件相干信息,零碎会主动将异样信息以短信或邮件的形式发送到指定的手机或邮箱。短信与邮件发送的应用办法与步骤为: 定义用户短信或邮件发送接口程序的开发测试接口程序接口程序部署以及配置定义用户从6.0版本开始,调度异样短信邮件接管,须要通过客户端组件admin创立独立的用户。每个用户蕴含用户ID,姓名、电话号码、邮件地址、以及用户权限组信息等。当然,用户的定义,不是因需接管短信才定义,而是应用TASKCTL的良好习惯。短信或邮件发送接口程序的开发 接口程序的作用每个用户企业内,邮件短信的发送形式以及接口均不同,因而,TASKCTL须要你开发自定的发送接口程序。通过接口程序,你能够将指定的内容发送到指定的手机或邮箱。反对的接口程序类型 TASKCTL6.0及以上版本 能够反对的接口程序类型包含:shell程序、可执行命令程序、java程序、python程序四种。 接口程序的入口参数短信发送接口程序的入口参数为: 电话号码,音讯内容的文件名称邮件发送接口程序的入口参数为: 邮件地址,音讯内容的文件名称接口程序的正确返回值,肯定要设置为4比方:如果你的接口程序为shell脚本,最初应该增加exit 4; 测试你的接口程序构建一个行将发送内容的文件短信接口测试(shell形式)sh [接口程序] [电话号码] [信息文件名] 如果通过运行以上命令,能发送短信,就示意接口程序测试通过。邮件接口测试(shell形式)sh [接口程序] [邮件地址] [信息文件名] 如果通过运行以上命令,能发送邮件,就示意接口程序测试通过。接口程序部署以及设置1.程序部署 将相应接口程序上传到调度服务器装置用户环境。目录你可本人指定。如果是可执行程序,记住赋予执行权限。2.信息设置 程序部署完后,用admin超级用户登录Admin客户端组件,进入短信邮件设置界面。设置界面如下: 发送程序名称:你部署接口程序的全门路程序类型:接口程序的类型编码:你邮件服务器或短信服务的具体编码对于编码容易犯的谬误:你的接口程序中增加中文内容(比方短信头信息),编码肯定与该配置编码雷同。 通过以上步骤,你的短信邮件配置就算实现了。

March 25, 2022 · 1 min · jiezi

关于kettle:Kettle知识库问答系列之八零年代

摘要:本文由以数据之名分享,正所谓“问君能有几多愁,恰似一江春水向东流”。人不知;鬼不觉中,“以数据之名”Kettle解忧消愁系列专题已更新了五篇知识库文章“三十而立、四十不惑、五十而耳知天命、六十而耳顺、七十古稀”,叙述了应用Kettle作为ETL开发的常见组件应用阐明、业务场景实现逻辑、异样剖析及组件性能优化相干内容。明天,咱们跟着小编的节奏,持续探讨第六篇Kettle知识库问答系列之八零年代,做到理念和实际的活泼对立。 一.异样剖析篇第073问:Host '127.0.0.1' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'Connectionclosed by foreign host?第073答:由异样提醒能够看出起因:同一个ip在短时间内产生太多(超过mysql数据库max_connect_errors的最大值)中断的数据库连贯而导致的阻塞。 首先,咱们先查询数据库服务端的参数max_connect_errors配置 show variables like 'max_connect_errors';+--------------------+-------+| Variable_name | Value |+--------------------+-------+| max_connect_errors | 10 |+--------------------+-------+max_connect_errors是一个MySQL中与平安无关的计数器值,它负责阻止过多尝试失败的客户端以避免暴力破解明码的状况。 max_connect_errors的值与性能并无太大关系,默认是10。意味着如果某一客户端尝试连贯此MySQL服务器,然而失败(如明码谬误等等)10次 ,则MySQL会无条件强制阻止此客户端连贯。如果心愿重置此计数器的值,则必须重启MySQL服务器或者执行mysql> flush hosts; 命令。当这一客户端胜利连贯一次MySQL服务器后,针对此客户端的max_connect_errors会清零。如果max_connect_errors设置过小,则网页可能提醒无奈连贯数据库服务器。解决办法1:批改max_connect_errors的值 (1)进入Mysql数据库查看max_connect_errors:show variables like '%max_connect_errors%';(2)批改<span style="color:red;">max_connect_errors</span>的值:set global max_connect_errors = 80; (3)查看是否批改胜利show variables like '%max_connect_errors%';解决办法2:应用mysqladmin flush-hosts 命令清理一下hosts文件。(1)在查找到的目录下应用命令批改: > mysqladmin -u xxx -p flush-hosts或者 > flush hosts;解决办法3:重启mysqld。也能够在重启之前,在配置文件中将该参数调大。 > vi /etc/my.cnfmax_connect_errors = 80第074问:Kettle发送邮件附件中文乱码,如何解决呢? 第074答:批改spoon启动脚本配置,在set OPT=%OPT% %PENTAHO_DI_JAVA_OPTIONS% 这一行开端,增加如下配置: "-Dmail.mime.encodefilename=true" "-Dmail.mime.charset=utf-8" "-Dfile.encoding=utf-8" 第075问:Kettle ES Bulk Insert批量数据写入,Kibana查问有提早? ...

October 29, 2021 · 2 min · jiezi

关于kettle:JDBC-Kettle-on-MaxCompute-使用指南

简介:Kettle是一款开源的ETL工具,纯Java实现,能够在Windows、Unix和Linux上运行,提供图形化的操作界面,能够通过拖拽控件的形式,不便地定义数据传输的拓扑 。根本讲介绍基于Kettle的MaxCompute插件实现数据上云。 Kettle版本:8.2.0.0-342 MaxCompute JDBC driver版本:3.2.8 Setup下载并装置Kettle下载MaxCompute JDBC driver将MaxCompute JDBC driver置于Kettle装置目录下的lib子目录(data-integration/lib)下载并编译MaxCompute Kettle plugin:https://github.com/aliyun/ali...将编译后的MaxCompute Kettle plugin置于Kettle装置目录下的lib子目录(data-integration/lib)启动spoonJob咱们能够通过Kettle + MaxCompute JDBC driver来实现对MaxCompute中工作的组织和执行。 首先须要执行以下操作: 新建Job新建Database ConnectionJDBC连贯串格局为:jdbc:odps:?project= JDBC driver class为:com.aliyun.odps.jdbc.OdpsDriver Username为阿里云AccessKey Id Password为阿里云AccessKey Secret JDBC更多配置见:https://help.aliyun.com/docum... 之后,能够依据业务须要,通过SQL节点拜访MaxCompute。上面咱们以一个简略的ETL过程为例: Create table节点的配置如下: 须要留神: 这里Connection须要抉择咱们配置好的不要勾选Send SQL as single statementLoad from OSS节点配置如下: 须要留神的点同Create table节点。无关更多Load的用法,见:https://help.aliyun.com/docum... Processing节点配置如下: 须要留神的点同Create table节点。 Transformation咱们能够通过MaxCompute Kettle plugin实现数据流出或流入MaxCompute。 首先新建Transformation,之后新建Aliyun MaxCompute Input节点,配置如下: 在MaxCompute中新建一张空表,schema与test_partition_table统一。 新建Aliyun MaxCompute Output节点,配置如下: 执行Transformation,数据便从test_partition_table被下载,后被上传至test_partition_table_2。 其余设置MaxCompute flags如图,在执行DDL/DML/SQL之前,能够通过set key=value;的形式配置flags。 Script模式临时无奈反对 原文链接 ...

July 16, 2021 · 1 min · jiezi

Kettle软件介绍与下载分享

看完这章你会学习到以下内容: Kettle常用功能和属性介绍下载链接Kettle的常用属性有以下四个 勺子(Spoon) : 里面就包括工作JOB和转换Trans --最常用 -- 锅子(Pan) : 使用命令针对转换Trans进行调度 厨房(Kitcten):使用命令针对工作JOB进行调度 厨师(Chef): 允许每个转换,任务,脚本等等,利于自动化更新数据仓库。 他的一些特点(补充说明): 1. 免费开源:不用给钱,还可以修改配置,例如内存参数JVM。 2. 易配置: 可以在.bat Windos 或者.sh Linux 中运行。 3. 不同数据库: Oracle,MySQL,MongoDB,PostgreSQL等等。 4.5 略 6. 转换 - 通用模块 - Start 可以设置定时调度任务,每天每月或者每周 Kettle 下载链接: 1、官网各个版本下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/ 2、Kettle是纯JAVA编程的开源软件,本地环境配置JDK1.7以上即可运行,解压后直接使用无需安装。Simon Gan:【安装 JDK】 配置环境变量 注意事项: 1.第一次启动软件速度比较慢,之后会稍微快。 这里与硬盘配置和处理器有关。 2.退出软件,则不会自动保存JOB工作或者转换Trans。 每次都先保存在退出。

June 23, 2020 · 1 min · jiezi

Kettle表输入表输出-一个简单入门连接

Kettle作为连接数据库的ETL工具之一,这里简单介绍两个相互连接。 1) 从Kettle连接到Excel 2) 从Excel连接到Kettle(√)PS: 前提是在数据库里有这张表,而且里面包含相应字段 一般在win系统,用Spoon.bat文件打开。 如果你装了虚拟,用Linux系统,只需用后缀为.sh 的Spoon文件即可。 点击 - 文件 - 新建 - 转换, 即打开转换新窗口。 除了可以新建转换,也可以新建作业,如下图二。 Kettle的控件分为2种:作业(Job)和转换(Transform) 对于作业和转换,重点记住以下两点: 1、作业是步骤流,转换是数据流。这是作业和转换最大的区别。 2、作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件; 选中核心对象:有两个入门级的控件 —— 输入和输出。 如果要输出到PL/SQL Oracle数据库的话,则输出要选择“表输出”! 把两个控件从表中拉出来,然后按住Shift键,建立两个控件间的联系。 如下图所示,则表示从Excel 输入到指定Oracle数据库中的表。 选中Excel输入控件,单击进入编辑界面,首先点击预览,然后确认添加。 点击添加,然后在选中的文件中会出现文件的路径。 点击显示文件名称和地址信息,确保文件没有任何错误。 选中第二个选项卡工作表,选中你需要添加的哪一张工作表(Sheet) 选中指定要添加的Sheet1,然后全部选中,点击确定。 (通常如果没什么特别需要的话)接着选择字段选项卡,点击获取头部数据字段。 相当于SQL语句里面的Create Table语句。 点击获取后,结果如下图。 Excel输入控件的设置到此结束。 选中表输出控件,第一连接的话,请新建一个数据库链接。 进入数据库连接界面: 一般 - 命名连接名称 - 连接方式 - 选择电脑IP地址 - 数据库名称 - 用户名 - 密码 - 确定。 ...

June 23, 2020 · 1 min · jiezi

Kettle小白从零开始的开发历程二资源库的选择与创建

资源库的选择在成功打开你的Spoon客户端编辑工具后,首先你要确立一个地方用于保存你的工程文件,Kettle提供了三种资源库类型:数据库类型资源库(Database Repository)、文件类型资源库(File Repository)、Pentaho官方资源库。 Database Repository:数据库类型资源库如同其名一样,将你的所有工程文件包括配置都保存在数据库中。File Repository:文件类型资源库,将你的工程文件以XML的形式保存在本地(配置文件应该是包含在每个任务文件中的)Pentaho Repository:官方推出的一款资源库,功能强大(看介绍的),应该是针对企业版(付费的,pass)先说说这些这三种的区别: 首先,数据库类型资源库和文件形式资源库都没有版本管理这个概念,或者说没有自动的版本管理(目前我也找到什么比较好点的管理方式,如果各位观众老爷们有的话可以分享一下下呗),先说数据库类型,数据库做版本管理本身就是一件困难的事,虽然现在有数据库版本管理的框架,但是会占资源呀(客户方肯定不愿意XD),所以目前唯一能做的就是把数据库导出来SQL文件,上传git;然后是文件资源库,因为是XML文件形式,相对于数据库,上传git做版本管理会更容易一些;Pentaho官方推出的资源库介绍是带版本管理的,因为收费,所以我也没研究过XD。关于版本这块,我用的是数据库资源库,在项目上线时候,发版时常会遇到版本的事故,因此吃了不少亏,希望大家慎重考虑下版本管理。 其次,关于多人协同开发,数据库类型资源库是不建议多人开发的,毕竟有锁的机制有一定的风险。文件资源库我百度过有大神做出过版本管理样例的,并且支持多人开发,但有点复杂被我放弃了,有兴趣的可以百度找一找。Pentaho官方资源库不用我多说了,支持版本管理,支持多人在线开发。 既然文件资源库能做版本管理能做多人开发为什么不选文件资源库呢,虽然文件资源库是能做出这些效果,但它是保存任务工程文件在本地的,方便的同时但有很多的安全隐患,相比于数据库形式的资源库,首先你登录数据库就要配置一次密码,其次Kettle数据库资源库登录还设置了单独的一层密码(默认登录账户、密码都是admin,可在数据库中修改),这样在和应用程序结合的时候安全上有了很大的保障,Pentaho不用说了,要什么有什么。 经过考虑之后我是选择了数据库类型的资源库,Pentaho付费而且好像托管在Pentaho的服务器上(又要占一台服务器资源),客户、项目经理表示双方都不乐意(哈哈)。关于资源库的选择就说到这,直接以建立数据库类型资源库为例上图吧! 创建数据库类型资源库打开Spoon客户端界面,点击右上角的Connect按钮,这里有个坑点,有时候你的Spoon打开,右上角的Connect按钮会消失...我百度了很多办法都没能解决,最后只能关掉重启几次就好了,如果下次还这样就一直重启... 点击Connect按钮后,你会看到如下界面 选择Repository Manager选项 刚开始肯定什么都没有的啦,点击Add按钮,添加一个资源库 这里就是Pentaho在推销自己的独创资源库啦,不想理会,点击Other Repositories进入下一步 选择Database Repository,点击Get Started 首先给你的资源库取个名字,然后点击第二项,给你的数据库类型资源库选择一个数据库链接 选择New一个 这里就根据你的环境里配置一下就行啦,这里题外话一下,最好是给Kettle单独准备一个库,不要和其他应用混在一个库(这很重要)。配置完后,点一下你的配置好的链接,选择back返回到刚刚的资源库编辑页面 点击Finish就完成了一个数据库类型的资源库创建啦! 数据库类型资源库注意点当你完成一个数据库类型的资源库创建后,打开你配置的数据库,你会发现Kettle帮你创建了一系列的表(仅展示部分): 其中R_DATABASE、R_DATABASE_ATTRIBUTE、R_DATABASE_CONTYPE、R_DATABASE_TYPE四张表示关于你数据库链接的配置,在你配置好你的数据库链接好,千万不要乱动这几张表,尤其是上了生产(过来人的痛)。 R_DATABASE:其中包含了你的每一个数据库链接的配置,数据库账户、密码等等,而你的所有任务工程文件都是和你这张表配置的链接的ID绑定的,所以不要轻易改变你的链接数据的位置,比如你的MySQL链接配置产生的ID是1,那么你所有用到这个链接的任务都会和1绑定,如果你迁移了一个环境,改变了这个MySQL链接的ID,但任务还是会识别ID为1的链接为MySQL的链接,当你同步的时候就会报错,大概是通过某某链接在某某库找不到你所对应的表等等。 R_DATABASE_ATTRIBUTE:数据库链接属性配置,这张表会记录你对每个定义的链接的属性,比如这个链接是否使用数据库连接池啊等等。 R_DATABASE_CONTYPE:数据库链接类型,例如JDBC、ODBC什么的,一般选择Native(JDBC)。 R_DATABASE_TYPE:数据库类型,记录了所有Kettle支持的数据库。 在数据库链接配置表里面,关于密码字段是Kettle自己加密过的密文保存在数据库中,如果有强要求的,比如账户也要保密什么的,可以试试所有参数变量化替代,这个之后说。 其次,关于第一次链接数据库的时候,Kettle可能会提示找不到合适的数据库链接的Jar包,这个需要根据你的数据库版本去查找相应的JDBC链接的Jar包(这个就自行百度一下然后去Maven网站上下载一下了),以MySQL为例,我查到所需要的链接Jar包为 打开Kettle的根目录,找到lib目录,将你下载的jar包放到该目录下,你用到几个数据库就要相应的放多少个对应的链接jar包进去,MySQL可能还需要你去下载对应版本的链接bin包(这个和上面的Jar有区别的) 下载好后,将其放到Data Service JDBC Driver目录下即可。你需要抽取有几种类型数据库就要对应的放置几种对应版本的链接Jar包进去,所以一定要做好规划。 以上就是关于资源库的选择了,如果还有坑点,日后还会做补充。

October 9, 2019 · 1 min · jiezi

使用Kettle导入数据到ADB-for-PostgreSQL

摘要: 文章介绍了使用Kettle将数据导入到AnalyticDB for PostgreSQL,包括使用表输出方式(INSERT)和批量加载方式(COPY)导入到AnalyticDB for PostgreSQL的详细步骤和操作流程。Kettle简介Kettle(现也称为Pentaho Data Integration,简称PDI)是一款非常受欢迎的开源ETL工具软件,主要用于数据整合、转换和迁移。Kettle除了支持各种关系型数据库,HBase MongoDB这样的NoSQL数据源外,它还支持Excel、Access这类小型的数据源。并且通过这些插件扩展,kettle可以支持各类数据源。 下图显示了Kettle和ADB for PostgreSQL之间的关系,数据源通过Kettle进行ETL或数据集成操作以后可以和ADB for PostgreSQL进行交互: Kettle支持的数据来源非常丰富,主要包括以下分类: 表输入文本文件输入生成记录/自定义常量获取系统信息各类格式文件输入Json输入以及其他输入更详细的输入可以从界面中的“核心对象”的“输入”分类中查看。 Kettle支持的表输入来源自数据库连接中使用SQL语句获取,其中数据库连接支持非常丰富的连接方式,包括: Native(JDBC)连接ODBC连接OCI连接JNDI连接通过这些连接方式,可以支持连接大多数主流数据库,如Oracle, SQL Server, MySQL, DB2, PostgreSQL, Sybase, Teradata等等,更详细的连接信息可以参考官方文档:https://help.pentaho.com/Documentation/8.2/Setup/Configuration/Define_Data_Connections Kettle导入到ADB for PostgreSQLKettle支持导入到ADB for PostgreSQL的方式目前,Kettle支持的数据导入到ADB for PostgreSQL的方式有: 导入方式说明表输出(INSERT方式)采用JDBC作为导入方式 支持批量插入,批量插入使用JDBC的batch insert方法 批量加载(COPY方式)采用COPY作为导入方式 对于大表,COPY方式性能达到批量插入性能的10倍左右 表输出(INSERT方式)导入会流过Master节点并做解析之后分布到对应的Segment节点上,这种方式相对较慢并且不适合导入大量数据。批量加载(COPY方式)导入方式比INSERT语句插入多行的效率更高。 以下将分别介绍如何通过这两种方式将外部数据迁移到AnalyticDB for PostgresSQL。 准备工作使用Kettle将外部数据导入AnalyticDB for PostgresSQL之前,需要完成以下准备工作。 在本地主机中安装kettle在AnalyticDB for PostgreSQL中创建目标数据库、模式和表。表输出方式导入数据到ADB for PostgreSQLKettle采用表输出方式,支持使用通用的JDBC接口,从各种数据库源导入到ADB for PostgreSQL中。以下就以MySQL为例说明如何通过JDBC接口导入数据到ADB for PostgreSQL中。 1.在Kettle中新建一个转换。2.在转换中新建一个MySQL数据库连接作为输出源,详细的参数配置如下表所示。配置参数时,不要勾选Use Result Streaming Cursor。 配置项说明连接名称数据连名连接类型选择MySQL连接方式选择Native(JDBC)主机名MySQL的连接地址数据库名称MySQL的数据库名端口号连接地址对应的端口号用户名用户名密码用户密码3.完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。4.在转换中新建一个Greenplum数据库连接作为输入源,详细的参数配置如下表所示。 配置项说明连接名称数据连名连接类型选择Greenplum连接方式选择Native(JDBC)主机名AnalyticDB for PostgreSQL的连接地址数据库名称AnalyticDB for PostgresSQL的数据库名端口号连接地址对应的端口号用户名用户名密码用户密码5.完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。6.在kettle左侧核心对象的输入中,找到表输入,并将其拖动入到工作区。 ...

May 7, 2019 · 1 min · jiezi