Skip to main content
Pentaho Documentation

Execute Scheduled Jobs on a Remote Carte Server

Follow the instructions below if you need to schedule a job to run on a remote Carte server. Without making these configuration changes, you will be unable to remotely execute scheduled jobs.

Note: This process is also required for using the DI Server as a load balancer in a dynamic Carte cluster.
  1. Stop the DI Server and remote Carte server.
  2. Copy the repositories.xml file from the .kettle directory on your workstation to the same location on your Carte slave. Without this file, the Carte slave will be unable to connect to the Pentaho Repository to retrieve PDI content.
  3. Open the /pentaho/server/data-integration-server/tomcat/webapps/pentaho-di/WEB-INF/web.xml file with a text editor.
  4. Find the Proxy Trusting Filter filter section, and add your Carte server's IP address to the param-value element.
    <filter>
        <filter-name>Proxy Trusting Filter</filter-name>
        <filter-class>org.pentaho.platform.web.http.filters.ProxyTrustingFilter</filter-class>
        <init-param>
          <param-name>TrustedIpAddrs</param-name>
          <param-value>127.0.0.1,192.168.0.1</param-value>
          <description>Comma separated list of IP addresses of a trusted hosts.</description>
        </init-param>
        <init-param>
          <param-name>NewSessionPerRequest</param-name>
          <param-value>true</param-value>
          <description>true to never re-use an existing IPentahoSession in the HTTP session; needs to be true to work around code put in for BISERVER-2639</description>
        </init-param>
    </filter>
  5. Uncomment the proxy trusting filter-mappings between the <!-- begin trust --> and <!-- end trust --> markers.
      <!-- begin trust --> 
      <filter-mapping>
        <filter-name>Proxy Trusting Filter</filter-name>
        <url-pattern>/webservices/authorizationPolicy</url-pattern>
      </filter-mapping>
    
      <filter-mapping>
        <filter-name>Proxy Trusting Filter</filter-name>
        <url-pattern>/webservices/roleBindingDao</url-pattern>
      </filter-mapping>
    
      <filter-mapping>
        <filter-name>Proxy Trusting Filter</filter-name>
        <url-pattern>/webservices/userRoleListService</url-pattern>
      </filter-mapping>
    
      <filter-mapping>
        <filter-name>Proxy Trusting Filter</filter-name>
        <url-pattern>/webservices/unifiedRepository</url-pattern>
      </filter-mapping>
    
      <filter-mapping>
        <filter-name>Proxy Trusting Filter</filter-name>
        <url-pattern>/webservices/userRoleService</url-pattern>
      </filter-mapping>
    
      <filter-mapping>
        <filter-name>Proxy Trusting Filter</filter-name>
        <url-pattern>/webservices/Scheduler</url-pattern>
      </filter-mapping>
    
      <filter-mapping>
        <filter-name>Proxy Trusting Filter</filter-name>
        <url-pattern>/webservices/repositorySync</url-pattern>
      </filter-mapping>
      <!-- end trust -->
  6. Save and close the file, then edit the carte.sh or Carte.bat startup script on the machine that runs your Carte server.
  7. Add -Dpentaho.repository.client.attemptTrust=true to the java line at the bottom of the file.
    java $OPT -Dpentaho.repository.client.attemptTrust=true org.pentaho.di.www.Carte "${1+$@}"
  8. Save and close the file.
  9. Start your Carte and DI Server
You can now schedule a job to run on a remote Carte instance.