Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
dleerob
Contributor III
Contributor III

How do you run Talend ESB as a service on Red Hat Linux 7 ?

When installing Talend 7.1.1 (or 6.5.1) on Linux using the Talend Installer, it does not set up Karaf (the container) as a service to automatically run when the server starts up.

Instead, you have to either go to /opt/Talend-7.1.1/esb/container/bin and run "trun" to get the Karaf console, which when you exit it, stops the container. Or you could execute "start" which runs it in the background.

 

Now, I cannot find any documentation on how to run Talend ESB as a service.

 

I did find documentation on how to run the Talend Runtime as a service, and this is apparently the equivalent to the container folder is Talend ESB.

 

So I have followed the documentation for installing Talend Runtime as a service: https://help.talend.com/reader/Vf4kncNeAlVQT~Kv9TVUVQ/og1ve0spgsY1a9aENpWoww

 

Now, in the documentation under CentOS/RedHat 7, the Talend-Container.service file created doesn't use any of the wrapper files created in the steps above it? Why is this?

 

And then, when actually starting the service using:

systemctl start Talend-Container.service

It starts up "trun", and then it simply exits it because trun doesn't run in the background.

 

My question is, how do I get Talend ESB to run as a service on Red Hat 7, and is the documentation provided above incorrect ?

Labels (3)
1 Solution

Accepted Solutions
dleerob
Contributor III
Contributor III
Author

So I figured out how to install the Talend ESB service. My documentation below.

 

Instructions to run Talend Runtime as a service found here: https://help.talend.com/reader/Vf4kncNeAlVQT~Kv9TVUVQ/Ug09Mfojeso_Kvf9S9ZfrA

 

However, this documentation is inaccurate in that it tells us to create a file "/etc/systemd/system/Talend-Container.service" which is pointing to "trun" and not using the service wrapper at all.

 

Instead, follow these steps:

  1. Execute: sudo /opt/Talend-7.1.1/esb/container/bin/trun
  2. In the Karaf console, type: feature:install wrapper
  3. In the Karaf console, type: wrapper:install -s AUTO_START -n TalendESB -d TalendESB -D "Talend ESB"
  4. Press Ctrl+D or type "halt" and press enter to exit the Karaf console.
  5. Edit "/opt/Talend-7.1.1/esb/container/bin/TalendESB-service" and change JAVA_HOME="null" to JAVA_HOME="/usr/lib/jvm/zulu-8"
  6. Edit "/opt/Talend-7.1.1/esb/container/etc/TalendESB-wrapper.conf" and change set.default.JAVA_HOME=null ​to set.default.JAVA_HOME=/usr/lib/jvm/zulu-8
  7. Execute: sudo systemctl enable /opt/Talend-7.1.1/esb/container/bin/TalendESB.service
  8. ​To see that the service is enabled which means it will run at system startup, execute: sudo systemctl list-unit-files | grep TalendESB
  9. Start the service by executing: sudo systemctl start TalendESB
  10. Double check that the service is running by executing: sudo systemctl list-units --type=service | grep TalendESB

 

So, although the above works for me, I am still wondering if the Talend documentation is incorrect ?

View solution in original post

1 Reply
dleerob
Contributor III
Contributor III
Author

So I figured out how to install the Talend ESB service. My documentation below.

 

Instructions to run Talend Runtime as a service found here: https://help.talend.com/reader/Vf4kncNeAlVQT~Kv9TVUVQ/Ug09Mfojeso_Kvf9S9ZfrA

 

However, this documentation is inaccurate in that it tells us to create a file "/etc/systemd/system/Talend-Container.service" which is pointing to "trun" and not using the service wrapper at all.

 

Instead, follow these steps:

  1. Execute: sudo /opt/Talend-7.1.1/esb/container/bin/trun
  2. In the Karaf console, type: feature:install wrapper
  3. In the Karaf console, type: wrapper:install -s AUTO_START -n TalendESB -d TalendESB -D "Talend ESB"
  4. Press Ctrl+D or type "halt" and press enter to exit the Karaf console.
  5. Edit "/opt/Talend-7.1.1/esb/container/bin/TalendESB-service" and change JAVA_HOME="null" to JAVA_HOME="/usr/lib/jvm/zulu-8"
  6. Edit "/opt/Talend-7.1.1/esb/container/etc/TalendESB-wrapper.conf" and change set.default.JAVA_HOME=null ​to set.default.JAVA_HOME=/usr/lib/jvm/zulu-8
  7. Execute: sudo systemctl enable /opt/Talend-7.1.1/esb/container/bin/TalendESB.service
  8. ​To see that the service is enabled which means it will run at system startup, execute: sudo systemctl list-unit-files | grep TalendESB
  9. Start the service by executing: sudo systemctl start TalendESB
  10. Double check that the service is running by executing: sudo systemctl list-units --type=service | grep TalendESB

 

So, although the above works for me, I am still wondering if the Talend documentation is incorrect ?