Jenkins无头linux从连接错误

时间:2013-08-12 08:26:21

标签: java jenkins

我得到java.net.SocketException:尝试将无头debian slave连接到我的主Jenkins master时连接重置。它已经运行了几个星期没有错误,突然间我无法连接它。

我可以通过端口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)

Jenkins Master输出:

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)

3 个答案:

答案 0 :(得分:1)

很难说在了解更多之前会发生什么。特别是:

  • 每次连接请求都会失败吗?如果是这样,请检查服务器上的auth.log,因为在“状态信息:握手”之后和“已连接”之前似乎发生了故障
  • 你的时钟是否正确同步?
  • 您使用的操作系统是什么?奴隶哪个java版本?检查你的PATH和JAVA_HOME
  • 你最近更新了jenkins吗?如果是这样,你有没有更新奴隶?您还尝试恢复更新吗?你使用的是哪个版本? 1.520支持JDK 1.5。
  • 你如何运行java命令?从SSH会话中的终端?这是由大师编写的吗?

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

答案 1 :(得分:0)

我遇到了同样的问题,似乎通过以root身份运行jenkins-slave来解决这个问题。现在,这个东西会周期性地断开同样的错误,我想知道这是由于LB keepalive造成的。我会在获得更多信息后立即更新此答案。

答案 2 :(得分:0)

就我而言,一切都在root帐户下运行。但是在用户帐户下,节点客户端无法通过消息&#34;连接到服务器失败意外终止了通道&#34;。 问题在于访问或写入工作文件夹。一旦我通过chown -R&#34;重新分配了所有者,节点就会成功启动。