1

ヘッドレス Debian スレーブをメインの Jenkins マスターに接続しようとすると、java.net.SocketException: Connection reset が発生します。エラーなしで数週間正常に動作していましたが、突然接続できなくなりました。

ポート 6256 でマスターに telnet で接続できます。

スレーブ出力:

#> 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 マスター出力:

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)
4

3 に答える 3

1

詳細を知る前に何が起こるかを言うのは難しい. 特に:

  • すべての接続要求で失敗しますか? その場合は、サーバーの auth.log を確認してください。"status INFO: Handshaking" の後、"Connected" の前にエラーが発生しているようです。
  • あなたの時計は正しく同期されていますか?
  • どのOSを使用していますか? スレーブの Java バージョンはどれですか? PATH と JAVA_HOME を確認してください
  • 最近ジェンキンスを更新しましたか?もしそうなら、スレーブを更新しましたか? また、更新を元に戻そうとしましたか? どのバージョンを使用していますか? 1.520 では、JDK 1.5 のサポートが取り除かれました。
  • Javaコマンドをどのように実行しますか? SSH セッションの端末から ? これはマスターからスクリプト化されていますか?

「予期しないチャネルの終了」で失敗する Jenkins スレーブ ジョブも参照してください。

于 2013-08-12T23:14:44.783 に答える
0

私の場合、すべてが root アカウントで動作していました。しかし、ユーザー アカウントでは、ノード クライアントがサーバーへの接続に失敗し、「チャネルの予期しない終了に失敗しました」というメッセージが表示されました。問題は、作業フォルダーへのアクセスまたは書き込みにありました。「chown -R」で所有者を再割り当てするとすぐに、ノードは正常に起動します。

于 2014-05-07T12:35:34.717 に答える