Jenkins slave在构建期间脱机

RMK*_*RMK 11 java build jenkins openstack

Jenkins奴隶在构建期间脱机.我怎么能解决这个问题,我在SO和Jenkins问题中看到了很多相关问题,但没有人给出解决方案.

我的配置:

Jenkins版本1.651.1,Zuul版本2.1.1.dev393与一个Jenkins主站(Ubuntu),2个从站(Ubuntu)各有16GB的RAM并行运行构建.

Jenkins master,devstack和两个nodepool从站都在相同的IP范围内.

我遇到一个问题,当一个奴隶完成它的构建然后两个奴隶中的java进程被杀死所以其他奴隶脱机.

我通过列出从站中运行的进程发现了这个问题,并观察到当一个从站完成其构建而另一个从站仍在运行构建时,Java进程在两个从站中同时被杀死.

以前我遇到过这个问题,通过从Open JDK切换到Oracle的JDK解决了这个问题.现在奴隶正在使用oracle java 1.8.0_111,但现在我们也遇到了与Oracle-java8相同的问题

构建日志:

01:42:07 Slave went offline during the build
01:42:07 ERROR: Connection was broken: java.io.IOException: Unexpected termination of the channel
01:42:07    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
01:42:07 Caused by: java.io.EOFException
01:42:07    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2351)
01:42:07    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2820)
01:42:07    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
01:42:07    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:302)
01:42:07    at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
01:42:07    at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(    AbstractSynchronousByteArrayCommandTransport.java:34)
01:42:07    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
01:42:07 
01:42:07 Build step 'Execute shell' marked build as failure 
Run Code Online (Sandbox Code Playgroud)

dil*_*pak 6

奴隶离线,要么是因为

  1. 运行到它上面的作业消耗的RAM比没有或没有内存的RAM多.

- 如果是这种情况,请尝试在从站中具有较少数量的执行程序或在节点中具有更多CPU/RAM.

  1. 从清理进程可能正在运行,或者某些孤立进程可能正在运行,导致连接中断.

- 停止清理过程或杀死消耗内存的孤儿进程.

  1. 主密钥和从属服务器之间的SSH密钥可能已更改.

- 需要再次通过scp将ssh键发送给奴隶,并需要再次触摸.

请尝试一次并阅读以下文章以获得更多帮助.