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

Highlighted
Six Stars

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 ?


Accepted Solutions
Six Stars

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

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


All Replies
Six Stars

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

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

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

An API-First Approach to Modernizing Applications

Learn how to use an API-First Approach to Modernize your Applications

Watch Now

Talend API Designer – Technical Overview

Take a look at this technical overview video of Talend API Designer

Watch Now

Getting Started with APIs

Find out how to get started with APIs

Read