程序员的资源宝库

网站首页 > gitee 正文

KettlePack使用Carte执行任务 kettle repository

sanyeah 2024-03-29 17:14:29 gitee 9 ℃ 0 评论

KettlePack使用Carte执行任务

什么是Carte

? Carte是一个轻量级的web服务,允许远程请求HTTP进行监控、启动、停止在Carte服务上运行的任务(作业或转换)。运行Carte的服务器在kettle术语里称为slave server。

? KettlePack从0.5.0开始支持Carte执行任务。

优点

  • 分担KettlePack执行的任务,KettlePack负责调度,任务执行交由Carte完成

  • 可以跨Kettle版本执行任务,Carte集成在data-integration中,是由原生的kettle来执行

    如:执行Kettle9或更新版本所创建的任务

  • 可解决个别插件在Spoon中可执行,但在KettlePack中不能执行的问题

  • 网络隔离问题

    例:有三台服务器,①KettlePack服务器、②中间服务器、③数据库服务器

    如果①和③有网络隔离,②和③的网络相通,

    而任务需要访问③,那么可以在②上启动一个Carte服务,将任务交由②来执行

缺点

  • 需要另外配置、启动Carte服务
  • 对于Carte主服务交给子服务执行任务的情况 ,无法获取子服务中执行的日志
  • 对【文件管理】、【文件资源库】方式有不支持的情况,详见【Carte执行的局限性】

启动Carte服务

方式一

#进入kettle目录
cd data-integration

#windows
Carte.bat ip port
#例:
Carte.bat 192.168.x.x 8080

#linux
./carte.sh ip port
#例:
./carte.sh 192.168.x.x 8080

方式二

编辑data-integration/pwd/carte-config-xxxx.xml

  #进入kettle目录
  cd data-integration
  
  #windows
  Carte.bat pwd\carte-config-xxxx.xml
  
  #linux
  ./carte.sh pwd/carte-config-xxxx.xml

注意

  • Carte默认用户名、密码为cluster
  • 启动Carte服务时请使用IP不要使用localhost,否则只能本机访问
  • Carte服务端需要相同的插件库(plugins)
  • 如果Carte服务器开启了防火墙,请开放Carte所使用的端口

资源库配置

Carte服务器需要配置资源库配置文件:repositories.xml,

因为Carte执行的作业中如果包含了转换,Carte需要从资源库中获取对应转换的内容。

文件位置

USER_HOME/.kettle/repositories.xml

  • windows位置:
    C:\Users\用户名.kettle\repositories.xml

  • linux位置:
    普通用户为: /home/用户名/.kettle/repositories.xml
    root用户为: /root/.kettle/repositories.xml

本地Carte服务配置

KettlePack支持写入到本地资源库配置

可从菜单【资源管理 - 资源库管理 - 生成本地配置】写入本地

远程Carte服务配置

需要相同配置的节点

可从菜单【资源管理 - 资源库管理 - 下载配置】,将下载的配置文件放入远程Carte服务器中对应位置 (也可修改)

Carte执行的局限性

KettlePack执行Carte任务

任务 文件 文件 文件资源库 文件资源库 数据库资源库 数据库资源库
本地Carte 远程Carte 本地Carte 远程Carte 本地Carte 远程Carte
转换
简单作业(不包含转换)
复杂作业(包含转换) × ×

Spoon执行Carte任务

任务 文件 文件 文件资源库 文件资源库 数据库资源库 数据库资源库
本地Carte 远程Carte 本地Carte 远程Carte 本地Carte 远程Carte
转换 ×
简单作业(不包含转换) ×
复杂作业(包含转换) × ×

  • 以上为个人测试结果,测试使用的Spoon版本为8.3.0.0-371,KP版本为0.5.0
  • 【本地Carte】:与KettlePack同在一台机器运行的Carte服务
  • 【远程Carte】:除【本地Carte】以外的Carte服务
  • 从以上两表可看出,数据库资源库为Carte执行任务的最佳选择

常见问题

Carte服务启动后,KP测试连接不成功

  • 检查Carte服务器是否开放对应端口

  • 启动Carte服务时请使用IP不要使用localhost,否则只能本机访问

    例本机IP为 192.168.1.100

    请使用Carte.bat 192.168.1.100 8080 启动

    如果使用Carte.bat localhost 8080启动,则只能从本机使用localhost:8080访问

  • Carte服务器启动后,可以使用浏览器访问:http://ip:port

Carte执行任务时中文乱码(日志或任务路径)

修改Carte.bat文件,在【pushd %~dp0】下(换行)添加以下代码

set OPT= -Dfile.encoding=utf-8

Carte.bat完整示例(不含注释部分):


setlocal
pushd %~dp0

set OPT= -Dfile.encoding=utf-8
SET OPT=%OPT% "-Dorg.mortbay.util.URI.charset=UTF-8"
SET STARTTITLE="Carte"
SET SPOON_CONSOLE=1

call Spoon.bat -main org.pentaho.di.www.Carte %*
popd

修改Carte内存使用

修改Spoon.bat,添加:

set PENTAHO_DI_JAVA_OPTIONS="-Xms2048m" "-Xmx4096m" "-XX:MaxPermSize=256m"

by MJP 20210806

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表