One Star

Talend Container Wrapper

I've currently got a case active with Talend support, but I also thought I'd reach out to the community about my issue because I don't really think they are able to diagnose the problem, since it's more relate to Linux.
We're running Talend ESB on CentOS Linux release 7.2.1511, and cannot get the container wrapper to start at startup.  I have followed the documentation to the letter, and can start the services manually (service TALEND-CONTAINER-service start) with the root user, but will not start upon reboot.  I cannot find a log of what the problem could be either, so I'm flying blind.
In terms of the startup - is the wrapper dependent upon any other services (commandline, tac)?
All the other Talend are run as "talenduser" - should the wrapper also be run as this user (RUN_AS_USER in /esb/container/bin/TALEND-CONTAINER-service)?
A definitive answer to these would help to provide some clarity.
Thanks
5 REPLIES
Seventeen Stars

Re: Talend Container Wrapper

I usually do not use the Talend installer. I guess you mean der Karaf Container?
All the Talend services should run under the talend user! Otherwise they would not be able to use their own resources.
One Star

Re: Talend Container Wrapper

Thanks for your reply.
Yes, I am talking about the Karaf container, which isn't installed as a part of the standard Talend installer.
I have set RUN_AS_USER = talenduser in /esb/container/bin/TALEND-CONTAINER-service but still no luck, but at least I know that I should be using this user.
Are there any logs that I can check maybe?
Seventeen Stars

Re: Talend Container Wrapper

I usually use such a script:
#!/bin/bash
### BEGIN INIT INFO
# Provides:             talend-runtime
# Required-Start:       $local_fs $remote_fs $network $time
# Required-Stop:        $local_fs $remote_fs $network $time
# Should-Start:         $syslog
# Should-Stop:          $syslog
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Talend Runtime
### END INIT INFO

RUN_AS_USER=talend
case "$1" in
start)
  echo $"Starting Talend Job Server"
  /bin/su - $RUN_AS_USER -c '/opt/talend/6.1.1/runtime/server/bin/start &'
;;
stop)
  echo $"Stopping Talend Job Server"
  /bin/su - $RUN_AS_USER -c '/opt/talend/6.1.1/runtime/server/bin/stop &'
 ;;
*)
 echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL

You need to change the path here but this script surely starts the container.
I would start the error analysis with logging in a talend user and run the start command and check the output.
If you have tried to start the container with different users, I suggest you fix the file system rights preventively

sudo chown -R talend:talend /your/path/to/karaf
One Star

Re: Talend Container Wrapper

I replaced the standard script with your script - bingo, it now works.
This means that the script that comes with Talend ESB is buggy, but their script comes from TanukiSoftware so I'm wondering where to report the bug.
I'm also wondering if it's an edge case with CentOS 7, because I'm sure it works on other Linux varieties. 
Seventeen Stars

Re: Talend Container Wrapper

ok fine, do not forget to use the update-rc command to allow the start when the system boots.
We use CentOS as well as Debian or SuSE - whatever the customer prefers.
Take care under Debian 8 (especially if you have installed it from scratch) the Init-V start is not enabled anymore.
You can of course add your script to /etc/init.d/ but you have to setup a so called your_name.service file referencing to your init.d script.
In one of the next Talend releases the installer will create such a config file too.