Simple Web Server for Remote Execution and Clustering
- What is Carte?
- #Launching Carte
- #Command line options
What is Carte?
Carte is a simple web server that allows you to execute transformations and jobs remotely. It does so by accepting XML (using a small servlet) that contains the transformation to execute and the execution configuration. It also allows you to remotely monitor, start and stop the transformations and jobs that run on the Carte server.
A server that is running Carte is called a Slave Server in the Pentaho Data Integration terminology.
The first step is the installation of Sun Microsystems Java Runtime Environment version 1.5 or higher. You can download a JRE for free at http://www.java.com/.
After this, you can simply unzip the binary distribution zip-file in a directory of your choice.
In the Kettle directory where you unzipped the file, you will find a number of files.
Under Unix-like environments (Solaris, Linux, OSX, ...) you will need to make the shell scripts executable. Execute these commands to make all shell scripts in the Kettle directory executable:
cd Kettle chmod +x *.sh
To launch Carte on the different platforms these are the scripts that are provided:
- Carte.bat: run Carte on the Windows platform.
- carte.sh: run Carte on Unix platforms and OSX
Carte can be run on any platform that has a version of the Java Runtime Environment version 1.5 or higher.
Command line options
Carte accepts 2 command line options:
- server: The IP address or host name to run on. If you have a machine with multiple network cards you can choose here which interface to run on.
- port: The port to listen to (defaults to port 80)
Another possibility is to add a XML configuration file as an option. The format of the configuration file is described in Dynamic clusters. Sample configuration files are located in the pwd directory.
Command line examples:
carte.sh 127.0.0.1 8081 carte.bat 127.0.0.1 8081 carte.sh /Pentaho/Kettle/slave_dyn_8082.xml carte.bat \Pentaho\Kettle\slave_dyn_8082.xml
Carte uses basic authentication to control access to the web services.
The default user and password to use to gain control is "cluster".
You can change either of these in the file
From version 3.1 on you can also put this password file in $HOME/.kettle/ or $KETTLE_HOME/.kettle/
It is possible to obfuscate the password in the kettle.pwd file. We have a tool called "Encr" in the distribution that allows you to generate passwords that are obfuscated
sh encr.sh -carte my-l33t-passwd OBF:1uh420ld1kqh1x881idt1lc21l1i1kxk1lfg1igd1x8m1kud20l91ugm
The string "OBF:1uh420ld1kqh1x881idt1lc21l1i1kxk1lfg1igd1x8m1kud20l91ugm" can then be copied into the kettle.pwd file in stead of the clear-text password.
It is possible to make Carte use JAAS (Java Authentication and Authorization Service).
To do this, define an environment variable called "loginmodulename" as well as the "java.security.auth.login.config" property. Carte will pick these up to use these authentication settings.
http://host:port/kettle <-- Home page
http://host:port/kettle/status <-- status page
http://host:port/kettle/status?xml=true <-- machine readable status page
http://host:port/kettle/getSlaves <-- get a list of the registered slaves