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:
- 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)
- 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").
- When you unzipped YAJSW, you have e.g. a folder C:\Pentaho\CarteService\yajsw-stable-11.03. We recommend to rename 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>.
- Download the prepared wrapper.conf configuration file (attachment to this Page).
- Copy the downloaded wrapper.conf to <CarteServiceFolder>\conf\wrapper.conf (replace the existing one).
- 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):
Description / Notes
The working directory of Carte. Please mind to change back slashes to forward slashes or double back slashes in the file path!
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.
Password for the given account. Please mind to remove the leading '#' in case you enter a property here.
You need to replace the version of this jar file.
The Path to your java.exe. Please mind to change back slashes to forward slashes or double back slashes in the file path!
The Carte listening IP Address (or dynamic configuration file), see Carte User Documentation for more details.
The Carte listening port, see Carte User Documentation for more details.
This may vary depending on your needed memory.
Test your Configuration
- Execute <CarteServiceFolder>\bat\runConsole.bat
- When everything is configured correct, Carte starts up as usual.
- Check if you can login to Carte from your Browser on your local machine, e.g. http://localhost:8081
- 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
- 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.)
- Go the your Windows Services and you should see the installed service (Pentaho DI Carte).
- You are able to change all settings (e.g. Startup type, Log on credentials)
- 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)
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.displayname=Pentaho DI Carte Port 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.