There are some use cases to run Carte as a Windows Service: · When Carte instances are running using a command window, anyone by mistake could close the instance and Carte will go down. · The Carte.bat command window is tied to the user session that called the batch file and needs to be kept logged in. · With a Windows Service you can start the Carte service at machine startup and also configure it to restart after a crash. After you completed the below instructions, you are able to get Carte running as a Windows service like this: Installation Instructions 1. Download YAJSW (Yet Another Java Service Wrapper) from Sourceforge:http://sourceforge.net/projects/yajsw/files/ (these instructions were written and tested against YAJSW version 11.03) 2. Unzip the file into a suitable folder, e.g. C:\Pentaho\CarteService.Note: This should not be created below any other Pentaho Kettle folder since it is independent of the Pentaho Kettle Version and makes it easy to upgrade to future Kettle versions (see also chapter "Upgrade Instructions"). 3. When you unzipped YAJSW, you have e.g. a folder C:\Pentaho\CarteService\yajsw-stable-11.03. We recommend torename this folder to C:\Pentaho\CarteService\default. The reason for this is the possibility of having multiple configurations on one machine, see chapter "Multiple Instances of Carte on one Machine". Another reason is that you do not need to change any references to this folder in case you upgrade to a later YAJSW version.Note: We will reference the YAJSW directory in the following instructions as <CarteServiceFolder>. 4. Download the preparedwrapper.conf configuration file (attachment to this Page). 5. Copy the downloaded wrapper.conf to<CarteServiceFolder>\conf\wrapper.conf (replace the existing one). 6. Edit the wrapper.conf with a text editor and change the following entries manually (you can search for your convenience for the markers ###InstallerOrModify### within the file):
Parameter |
Sample |
Description / Notes |
wrapper.working.dir |
C:/Pentaho/pdi-ee-4.3.0-GA/data-integration |
The working directory of Carte. Please mind to changeback slashes to forward slashes or double back slashes in the file path! Note: If you defined OS environment variables you may access these directly within the configuration and use for this parameter. Windows environment variables are converted to lower case. Therefore even if you use e.g. PATH on your computer you have to call ${path} in the configuration file. |
wrapper.app.account |
|
The user account the Carte service will run. When nothing is given here, it starts as the Local System account. Please check with your system administrator about the right user settings. Please mind toremove the leading '#' in case you enter a property here. |
wrapper.app.password |
|
Password for the given account. Please mind toremove the leading '#' in case you enter a property here. |
wrapper.java.command |
C:/Pentaho/BA-4.5.0-GA/java/bin/java.exe or ${pentaho_java_home}/bin/java.exe |
The Path to your java.exe. Please mind to changeback slashes to forward slashes or double back slashes in the file path! Note: When you used the installer, a PENTAHO_JAVA_HOME system environment variable has been set. This variable can be used in this context but needs to be given in lower case. |
wrapper.app.parameter.3 |
127.0.0.1 |
The Carte listening IP Address (or dynamic configuration file), see Carte User Documentation for more details. Note: In the case of a Dynamic cluster configuration, please replace wrapper.app.parameter.3 with the location of the cluster configuration file (e.g. wrapper.app.parameter.3 = C: Pentaho Kettle slave_dyn_8083.xml) and remove wrapper.app.parameter.4. |
wrapper.app.parameter.4 |
8081 |
The Carte listening port, see Carte User Documentation for more details. |
wrapper.java.additional.1 |
-Xmx512m |
This may vary depending on your needed memory. |
Test your Configuration 1. Execute <CarteServiceFolder>\bat\runConsole.bat 2. When everything is configured correct, Carte starts up as usual. 3. Check if you can login to Carte from your Browser on your local machine, e.g.http://localhost:8081 4. When the test went successfully, you can stop Carte with selecting "Stop" in the new yajsw system tray or with Ctrl-C in the console window. Install Carte as a Service 1. Execute <CarteServiceFolder>\bat\installService.bat (Attention: You should run this as Administrator depending on your operating system and security restrictions. Otherwise some unusual behavior could arise later on, e.g. no log files are produced.) 2. Go the your Windows Services and you should see the installed service (Pentaho DI Carte). 3. You are able to change all settings (e.g. Startup type, Log on credentials) 4. Start you service as outlined in the chapter "Start and Stop the Carte Service" and check your installation. Start and Stop the Carte Service Additional to the user interface in the Windows Services, it is possible to start and stop the service by the commands startService.bat or stopServce.bat (in the <CarteServiceFolder>\bat folder) or by the general Windows Service start and stop commands, e.g. net start pentaho_carte net stop pentaho_carte Notes: You need Administrator privileges, eventually replace pentaho_carte by the setting in parameter wrapper.ntservice.name when this service name was changed Logging and Monitoring Logging goes by default to the file <CarteServiceFolder>\log\wrapper.log. You may change this setting by the parameter wrapper.logfile to a different location/file. Note: Please remember to clean up this log file depending on your needs. It is also possible to get the console output via the YAJSW system tray. That is for displaying a status icon and menu on the desktop. To start the system tray, you need to run <CarteServiceFolder>\bat\systemTrayIconW.bat You may create a link to start the try icon from the startup folder, so it gets started automatically on user logon by defining a link to the systemTrayIconW.bat Further information can be found in the chapter "System Tray Support" of the YAJSW documentation (http://yajsw.sourceforge.net/#mozTocId451759) Uninstall If you want to uninstall the service, you can run <CarteServiceFolder>\bat\uninstallService.bat (with Administrator privileges) or the Windows own command: sc delete pentaho_carte Notes: You need Administrator privileges, eventually replace pentaho_carte by the setting in parameter wrapper.ntservice.name when this was changed In case you get the error The specified service has been marked for deletion, it normally helps to simply restart Windows. Multiple Instances of Carte on one Machine If you need more Carte instances on one machine, you should have separate folders of the <CarteServiceDirectory> and change the following properties in each wrapper.conf file to be unique (samples given): wrapper.ntservice.name=pentaho_carte_8081 wrapper.ntservice.displayname=Pentaho DI Carte Port 8081 wrapper.app.parameter.4=8081 Additionally, you need to set wrapper.tray = false Otherwise the startup throws an exception of multiple bindings of IP addresses. (This may be solved with a different configuration, but was not further investigated at the time of this writing.) You may consider changing the CPU affinity of the process for each instance with the option wrapper.affinity Advanced Options and Trouble Shooting We gave minimal and easy install instructions here to simplify the initial setup. If you need more background, want to tweak different options, optimize settings, run into issues with YAJSW, please refer to the extensive YAJSW documentation over here: http://yajsw.sourceforge.net/ especiallyhttp://yajsw.sourceforge.net/YAJSW%20Configuration%20Parameters.html Pentaho Kettle Upgrade Instructions When you upgrade to a later Pentaho Kettle release, please make sure to check or change the reference wrapper.working.dir to your Kettle folder within the wrapper.conf file <CarteServiceDirectory>/conf and eventually the wrapper.java.command. YAJSW Upgrade Instructions When you upgrade to a later YAJSW release, please make sure to safe and replace the wrapper.conf file located in <CarteServiceDirectory>/conf and eventually the log files within <CarteServiceDirectory>/log. |