2013-08-12 73 views
1

我得到java.net.SocketException:连接重置时,试图连接一个无头的debian奴隶我主詹金斯主。它已经运行好几个星期没有错误,突然间我无法连接。Jenkins无头Linux奴隶连接错误

我可以telnet到主端口6256.

从输出:

#> java -jar ~/slave.jar -jnlpUrl https://test.tv/jenkins/computer/debian_slave_node_1/slave-agent.jnlp 
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener <init> 
INFO: Hudson agent is running in headless mode. 
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Locating server among [https://test.tv/jenkins/, http://test.tv/jenkins/] 
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Connecting to test.tv:6256 
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Handshaking 
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener error 
SEVERE: Connection reset 
java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:189) 
    at java.net.SocketInputStream.read(SocketInputStream.java:121) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254) 
    at hudson.remoting.ClassicCommandTransport.create(ClassicCommandTransport.java:98) 
    at hudson.remoting.Channel.<init>(Channel.java:391) 
    at hudson.remoting.Channel.<init>(Channel.java:387) 
    at hudson.remoting.Channel.<init>(Channel.java:348) 
    at hudson.remoting.Channel.<init>(Channel.java:344) 
    at hudson.remoting.Channel.<init>(Channel.java:332) 
    at hudson.remoting.Engine.run(Engine.java:238) 

詹金斯主输出:

java.io.IOException: Unexpected termination of the channel 
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50) 
Caused by: java.io.EOFException 
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2596) 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1316) 
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) 
at hudson.remoting.Command.readFrom(Command.java:92) 
at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:72) 
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48) 

回答

1

很难说知道更多之前发生了什么。特别是:

  • 它会在每次连接请求时失败吗?如果是这样,请检查您的服务器上的auth.log,因为看起来在“状态INFO:握手”之后以及“已连接”之前发生故障
  • 您的时钟是否已正确同步?
  • 您使用的是什么操作系统?你的奴隶上有哪些Java版本?检查你的PATH和JAVA_HOME
  • 你最近更新了jenkins吗?如果是这样,你有没有更新奴隶?你有没有尝试恢复更新?你正在使用哪个版本? 1.520取消了对JDK 1.5的支持。
  • 你如何运行你的java命令?从SSH会话中的终端?这是从主人脚本?

参见Jenkins slave jobs failing on "Unexpected termination of channel"

+0

谢谢@coffeebreaks詹金斯节点在两天后开始回应。我有一个脚本,用于检查Jenkins主节点是否连接了节点并尝试重新启动它。所以它解决了它自己。 – jacksoncage

0

我碰到同样的问题,这似乎是通过运行詹金斯 - 从为根周围的工作。现在,这个事情会周期性地与那个同样的错误断开,我想知道这个错误是由于LB存活。只要我获得更多信息,我会尽快更新此答案。

+0

嗨威尔 - 只是提醒人们,像这样的人通常会对这个问题留下评论,当他们准备好时,答案应该被用于提供解决方案:) – robjohncox

+0

哎呦。我有一种感觉,这种回应更好,但我不想创建一个账号来添加这个输入。尽管下次会做。 – 2013-08-15 19:52:59

+0

不用担心 - 当人们加入其他人试图帮助他们时,这是一个标准的事情。而且你应该创建一个账户并参与进来,这是一个非常好的社区! – robjohncox

0

在我的情况下,一切都在根帐户下工作。但是,在用户帐户下,节点客户端无法连接到服务器,并显示消息“失败,意外终止通道”。 问题在于访问或写入工作文件夹。只要我重新分配所有者通过“chown -R”,节点就会成功启动。