簡體   English   中英

Jenkins無頭Linux奴隸連接錯誤

[英]Jenkins headless linux slave connection error

我得到java.net.SocketException:嘗試將無頭Debian從屬服務器連接到我的主要Jenkins主服務器時,連接重置。 它運行了好幾個星期沒有出現錯誤,突然之間我無法連接它。

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

在知道更多之前很難說會發生什么。 尤其是:

  • 每個連接請求都會失敗嗎? 如果是這樣,請檢查服務器上的auth.log,因為故障似乎發生在“狀態信息:握手”之后和“已連接”之前
  • 您的時鍾正確同步了嗎?
  • 您正在使用什么操作系統? 您的奴隸上有哪個Java版本? 檢查您的PATH和JAVA_HOME
  • 你最近更新詹金斯嗎? 如果是這樣,您是否更新了從站? 您是否也嘗試過還原更新? 您正在使用哪個版本? 1.520取消了對JDK 1.5的支持。
  • 您如何運行Java命令? 從SSH會話中的終端? 這是主人寫的嗎?

另請參見Jenkins從屬作業在“意外終止通道”時失敗

我遇到了同樣的問題,似乎可以通過以root身份運行jenkins-slave來解決。 現在,該事件會定期以相同的錯誤斷開連接,我想知道這是由於LB keepalive引起的。 我將在獲得更多信息后立即更新此答案。

就我而言,一切都在root帳戶下進行。 但是在用戶帳戶下,節點客戶端無法通過消息“失敗的通道意外終止”連接到服務器。 問題在於訪問或寫入工作文件夾。 通過“ chown -R”重新分配所有者后,節點將成功啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM