Not applicable

Running Job From Talend Studio on Job Server via Commandline

Hello Talend Users,
I have a problem with running a job using Talend Studio executing on a Job Server. It uses Talend Command Line to do this. Any guidance on what I can check or do in order to troubleshoot this problem would be appreciated.
Environment/Facts:

Project created on TAC, project name INSTALL_VALIDATION
Project uses SVN as the storage mechanism
Job created on Talend Studio, with one component to send an email using tSendMail.
Talend Studio Remote Job Servers and Command Line Server configured with appropriate ports.
Command Line Connectivity checked using "telnet <Command Line Host Name> 8002"
Job Server 1 main connectivity checked using "telnet <Job Server 1 Host Name> 8000"
Job Server 1 file transfer connectivity checked using "telnet <Job Server 1 Host Name> 8001"
Job Server 2 main connectivity checked using "telnet <Job Server 1 Host Name> 8000"
Job Server 2 file transfer connectivity checked using "telnet <Job Server 1 Host Name> 8001"

When I run the job, Talend Studio is successful in using command line to log on to the project, but fails when deploying the job to the Job Server.
I have attached the exception trace to the post, and pasted it below as well.
Starting job SendEmail at 12:12 15/01/2017.
connect to commandline server:  Commandline server  (<COMMAND LINE SERVER>:8002)
send command to commandline server...
InitRemoteCommand initRemote
COMPLETED at Sun Jan 15 12:12:25 AEDT 2017
LogonProjectCommand log on INSTALL_VALIDATION(trunk)
COMPLETED at Sun Jan 15 12:12:27 AEDT 2017
deployJobToServer 'SendEmail' -es 'JS1' -jv '0.1' -jc 'Default' -useSSL -un 'User' -pd '********'
FAILED at Sun Jan 15 12:12:39 AEDT 2017
exception : org.talend.commandline.client.command.CommandStatusWrapException: org.talend.designer.runprocess.ProcessorException: org.talend.remote.commons.exception.ClientServerException: java.net.SocketException: Connection reset
at org.talend.commandline.util.ExecutionServerHelper.sendJob(ExecutionServerHelper.java:303)
at org.talend.commandline.util.ExecutionServerHelper.deployAndRun(ExecutionServerHelper.java:184)
at org.talend.commandline.util.ExecutionServerHelper.deploy(ExecutionServerHelper.java:173)
at org.talend.commandline.command.CommandProcessor.deployJobToServer(CommandProcessor.java:477)
at org.talend.commandline.command.ExtensionCommandSwitch.caseDeployJobToServerCommand(ExtensionCommandSwitch.java:180)
at org.talend.commandline.client.command.extension.AbstractExtensionCommandSwitch.doSwitch(AbstractExtensionCommandSwitch.java:49)
at org.talend.commandline.command.CommandProcessorSwitch.caseExtensionCommand(CommandProcessorSwitch.java:161)
at org.talend.commandline.client.util.CommandAbstractSwitch.doSwitch(CommandAbstractSwitch.java:70)
at org.talend.commandline.command.CommandConsumer.executeCommand(CommandConsumer.java:57)
at org.talend.commandline.command.CommandConsumer.execute(CommandConsumer.java:35)
at org.talend.commandline.mode.ServerCommandLine$CommmandConsumerRunnable.run(ServerCommandLine.java:139)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.talend.remote.commons.exception.ClientServerException: java.net.SocketException: Connection reset
at org.talend.remote.jobserver.client.FileSenderClient.sendData(FileSenderClient.java:292)
at org.talend.remote.jobserver.client.FileSenderClient.sendFileInternal(FileSenderClient.java:243)
at org.talend.remote.jobserver.client.FileSenderClient.doSend(FileSenderClient.java:228)
at org.talend.remote.jobserver.client.FileSenderClient.access$7(FileSenderClient.java:223)
at org.talend.remote.jobserver.client.FileSenderClient$1.run(FileSenderClient.java:196)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:431)
at sun.security.ssl.OutputRecord.write(OutputRecord.java:417)
at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:876)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:847)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
at org.talend.remote.jobserver.client.FileSenderClient.sendData(FileSenderClient.java:275)
... 4 more
Job SendEmail ended at 12:12 15/01/2017.
job_run.txt.txt
5 REPLIES
Community Manager

Re: Running Job From Talend Studio on Job Server via Commandline

deployJobToServer 'SendEmail' -es 'JS1' -jv '0.1' -jc 'Default' -useSSL -un 'User' -pd '********'

Is it able to connect to job server from TAC? Are you sure it requires username/password for the connection? By default, username/password is not required.
Regards
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
Not applicable

Re: Running Job From Talend Studio on Job Server via Commandline

Hi Shong, thanks for your reply.
The user name and password was not something that I entered, the command is being issued by Talend Studio.  The exception stack I copied is from the Talend Studio Run Window.  And yes the job server is accessible from the TAC. I can see the Job Servers on the TAC Servers page (all with green ticks).  Additionally I can also confirm connectivity of Job Server to the Talend Admin Server on ports 8000 and 8001.
Is there anything else I can try, or logs that I can check out.
Thanks in advance!
Krishna
Community Manager

Re: Running Job From Talend Studio on Job Server via Commandline

Hi Krishna
Have a try to uncheck 'enable commandline server' box in Windows-->Preferences-->Talend-->Run/debug-->Remote Panel, it will export the job script from studio and deploy it to Job Server. Let me know if it is able to connecte to Job server without commandline?
Regards
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
Not applicable

Re: Running Job From Talend Studio on Job Server via Commandline

Hi Shong,
Thanks for your reply, I tried without the commandline as well. Got an IOException error message.
The thing is our Non Production environment is working well and our Production environment is where it was not working.  We did a side by side comparison of the install folders in the Job Server.  What we found was the permissions on some Production job server files were owned by the root user.   Whereas in the NonProduction environment everything job server related was owned by talenduser.
So changing the ownership and restarting the job server fixed the issue!
Thanks again for your time!
Regards,
Krishna
Community Manager

Re: Running Job From Talend Studio on Job Server via Commandline

Great, thanks for your feedback and sharing the solution.
----------------------------------------------------------
Talend | Data Agility for Modern Business