如何在 Pentaho BI 服务器 v6 CE 上部署预定的 Kettle 作业

How to deploy scheduled Kettle jobs on Pentaho BI server v6 CE

我有一个服务器 运行ning Pentaho BI 服务器 v6 社区版。我们开发了一个 Kettle 作业来从一个数据库提取到另一个数据库,导出为 KJB 文件。我想 运行 每 12 个小时左右完成一次这项工作。

我注意到 BI 服务器已经包含了 Kettle,并且具有上传和调度作业的能力。如果BI服务器已经安装了Kettle,还需要安装DI服务器吗?

如果没有,如何将 KJB 文件发布到 BI 服务器?我想使用文件系统存储库。如果我直接通过用户控制台上传文件,日志显示导入成功,但我无法在任何地方 select 或 运行 作业。

您可以将 .kjb 文件部署为 Kettle 端点作为 Sparkl 插件的一部分,然后使用简单的 API 请求调用它。这应该有帮助:

http://fcorti.com/pentaho-sparkl/kettle-endpoint-sparkl-pentaho/

可能还有其他方法可以做到这一点,但这是我最熟悉的方法。至于调度,您可以只调度一个发出 API 请求的 cronjob?

我使用 Pentaho BI 服务器 5,但它在 Pentaho BI 6 上应该也能正常工作。

我的 Kettle 作业 运行 有许多子转换。转换文件存储在文件系统目录中,例如/opt/etl.

所以假设我有一份工作 (daily_job.kjb) 有两个子转换。

到 运行 Kettle jobPentaho BI CE 我使用这些步骤:

  1. 在作业文件中正确设置转换位置
  2. 将子转换上传到服务器上的适当目录 (/opt/etl)
  3. 创建 xaction 在 BI 服务器上执行 Kettle job 的文件 (daily.xaction)
  4. 上传 daily.xactiondaily_job.kjb 文件到 Pentaho BI 服务器(同一文件夹)
  5. 在 Pentaho BI 服务器上安排 daily.xaction 文件

daily_job.kjb中的作业设置:

Xaction code daily.xaction(简单地说,它执行 daily_job.kjb 位于 BI 服务器的 相同文件夹 xaction 是):

<?xml version="1.0" encoding="UTF-8"?>
<action-sequence> 
  <title>My scheduled job</title>
  <version>1</version>
  <logging-level>ERROR</logging-level>
  <documentation> 
    <author>mzy</author>  
    <description>Sequence for running daily job.</description>  
    <help/>  
    <result-type/>  
    <icon/> 
  </documentation>

  <inputs> 
  </inputs>

  <outputs> 
    <logResult type="string">
      <destinations>
        <response>content</response>
      </destinations>
    </logResult>
  </outputs>

  <resources>
    <job-file>
      <solution-file> 
        <location>daily_job.kjb</location>  
        <mime-type>text/xml</mime-type> 
      </solution-file>     
    </job-file>
  </resources>

  <actions> 
    <action-definition>
      <component-name>KettleComponent</component-name>
      <action-type>Pentaho Data Integration Job</action-type>
      <action-inputs>   
      </action-inputs>
      <action-resources>
        <job-file type="resource"/>
      </action-resources>
      <action-outputs> 
        <kettle-execution-log type="string" mapping="logResult"/>  
        <kettle-execution-status type="string" mapping="statusResult"/> 
      </action-outputs>   
      <component-definition>
        <kettle-logging-level><![CDATA[info]]></kettle-logging-level>           
      </component-definition>
    </action-definition>

  </actions> 
</action-sequence>

在 Pentaho BI CE 上调度 Kettle 作业(xaction 文件):

继续执行以下步骤:

  1. 以管理员身份启动 pentaho bi 服务器后登录到 pentaho 控制台:

  1. 单击“浏览文件”按钮,将打开一个新页面。在此页面中,Select 文件夹部分下的文件夹,然后单击右侧窗格中的上传。

  1. Select一个文件,点击确定。

  1. 现在刷新页面,然后文件将反映在您各自的文件夹中。

  2. 现在安排作业。单击左窗格中的相应文件夹,select 中间窗格中的主要作业文件,然后单击右窗格中的计划。

  3. 在新的弹出窗口中,select您生成的文件路径并单击下一步。 Select 重复计划、作业时间和作业开始日期。

  1. Select yes 在下一个弹出窗口中,您将被重定向到“管理计划”页面,您可以在其中看到您刚刚安排的工作。在预定时间将是 运行。

  2. 您可以在 pentaho-server/tomcat/logs 目录的 pentaho.log 文件中查看您的作业日志:

    tail -1000f /Users/kv/pentaho-server/tomcat/logs/pentaho.log