There are some use cases to run Carte as a Windows Service:
After you completed the below instructions, you are able to get Carte running as a Windows service like this:
Parameter | Sample | Description / Notes |
---|---|---|
wrapper.working.dir | C:\\\\pentaho\\\\design-tools\\\\data-integration\\\\ | The working directory of Carte. Please mind to change back slashes to forward slashes or double back slashes in the file path! |
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 to remove the leading '#' in case you enter a property here. | |
wrapper.app.password | Password for the given account. Please mind to remove the leading '#' in case you enter a property here. | |
wrapper.java.app.jar | launcher\\\\launcher.jar | You need to replace the version of this jar file. |
wrapper.java.command | ${PENTAHO_JAVA_HOME}\\\\bin\\\\java.exe | The Path to your java.exe. Please mind to change back slashes to forward slashes or double back slashes in the file path! |
wrapper.app.parameter.3 | 127.0.0.1 | The Carte listening IP Address (or dynamic configuration file), see Carte User Documentation for more details. |
wrapper.app.parameter.4 | 8081 | The Carte listening port, see Carte User Documentation for more details. |
wrapper.java.additional.1 | -Dorg.mortbay.util.URI.charset=UTF-8 | URL Encoding. |
wrapper.java.additional.2 | -Xmx4g | This may vary depending on your needed memory. |
wrapper.java.additional.3 | -Xms1g | This may vary depending on your needed memory. |
wrapper.java.additional.4 | -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 | Support for HTTPs TLS |
wrapper.java.additional.5 | -DKETTLE_HOME=/some/path | This PATH is used to read the kettle home. If not defined, it will user the %USER_HOME% and will create or use existing .kettle folder. This folder is where kettle.properties file, shared.xml and other settings files are used by PDI. |
wrapper.java.additional.6 | -XX:+AggressiveOpts | Used to have a better GC memory management. However, we are currently recommending the use of -XX:+UseG1GC |
wrapper.java.additional.7 | -XX:+ExitOnOutOfMemoryError | In case of an Out Of Memory, we recommend the CARTE to exit. If used in combination with Windows Services auto-restart in case of failure, will make the service to be back in few minutes. |
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 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)
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.
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
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
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.
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.