云计算百科
云计算领域专业知识百科平台

Kettle Carte 组件使用示例:将作业分发倒多台服务器并行执行

Kettle Carte 使用示例

Kettle Carte 是 Pentaho Data Integration(Kettle)的核心组件之一,主要作为轻量级 HTTP 服务器,用于远程执行、监控和管理 Kettle 作业(Job)与转换(Trans)。以下是其核心功能、使用场景及具体示例:


一、Carte 的核心作用
  • 分布式任务执行 支持将作业/转换分发到多台服务器(Slave Server)并行执行,适用于大数据量场景下的负载均衡,通过集群模式提升处理效率。

  • 远程任务调度 提供 HTTP API 触发任务执行,无需本地运行 Kettle 客户端,支持参数化调用,适合集成到自动化流程或第三方系统。

  • 资源隔离与权限管理 可配置独立资源库(文件或数据库资源库),通过 XML 文件定义端口、IP 绑定及用户认证(默认用户 cluster/cluster)。

  • 状态监控与日志管理 提供 Web 界面实时查看任务状态、执行日志及资源占用情况,支持 JMX 监控 JVM 性能指标。


  • 二、Carte 使用示例
    1. 启动 Carte 服务
    • 单节点启动 指定 IP 和端口启动服务:

      # Linux
      ./carte.sh 192.168.1.100 8080

      # Windows
      Carte.bat 192.168.1.100 8080

    • 配置文件启动 使用 XML 配置文件定义高级参数(如集群配置、资源库路径):

      <!– carte-config-master.xml –>
      <slave_config>
      <hostname>192.168.1.100</hostname>
      <port>8080</port>
      <username>cluster</username>
      <password>cluster</password>
      <repository>
      <name>prod-repo</name>
      <username>admin</username>
      <password>admin123</password>
      </repository>
      </slave_config>

      启动命令:

      ./carte.sh pwd/carte-config-master.xml

    2. 远程调用任务 API
    • 执行作业(Job) 通过 executeJob 接口触发任务并传递参数:

      curl -u "cluster:cluster" "http://192.168.1.100:8080/kettle/executeJob/?rep=prod-repo&job=/etl/daily_sales&P1=20231001"

    • 执行转换(Trans) 通过 executeTrans 接口调用转换文件:

      curl -u "cluster:cluster" "http://192.168.1.100:8080/kettle/executeTrans/?trans=/data/transformations/data_clean.ktr&user=admin"

    3. 集群配置示例
    • 静态集群配置 在 XML 中定义主节点和从节点:<slave_config>
      <masters>
      <slaveserver>
      <name>master-node</name>
      <hostname>192.168.1.100</hostname>
      <port>8080</port>
      <master>Y</master>
      </slaveserver>
      </masters>
      <slaveserver>
      <name>slave-node1</name>
      <hostname>192.168.1.101</hostname>
      <port>8081</port>
      <get_properties_from_master>master-node</get_properties_from_master>
      </slaveserver>
      </slave_config>
      任务启动后会自动分发到从节点执行。
    4. 日志与监控
    • 查看任务状态 访问 Web 界面 http://192.168.1.100:8080/kettle/status/,输入认证信息后可查看运行中的任务及日志。

    • JMX 监控 修改启动脚本启用 JMX:

      # 在 carte.sh 中添加 JVM 参数
      OPT="$OPT -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9180 -Dcom.sun.management.jmxremote.authenticate=false"

      使用 JConsole 或 Prometheus 监控 JVM 指标。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Kettle Carte 组件使用示例:将作业分发倒多台服务器并行执行
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!