2017-07-03 179 views
0

我想在我們的服務器上設置詹金斯集羣。配置一個從節點後,然後嘗試從主設備啓動該從設備,它無法啓動。未能啓動詹金斯奴隸

錯誤日誌

[07/03/17 11:12:19] [SSH] Checking java version of java 
[07/03/17 11:12:19] [SSH] java -version returned 1.5.0. 
[07/03/17 11:12:19] [SSH] Starting sftp client. 
[07/03/17 11:12:19] [SSH] Copying latest slave.jar... 
[07/03/17 11:12:19] [SSH] Copied 717,563 bytes. 
Expanded the channel window size to 4MB 
[07/03/17 11:12:19] [SSH] Starting slave process: cd "/app/taiji/build/jenkins2" && java -jar slave.jar 
Exception in thread "main" java.lang.ClassFormatError: hudson.remoting.Launcher (unrecognized class file version) 
    at java.lang.VMClassLoader.defineClass(libgcj.so.10) 
    at java.lang.ClassLoader.defineClass(libgcj.so.10) 
    at java.security.SecureClassLoader.defineClass(libgcj.so.10) 
    at java.net.URLClassLoader.findClass(libgcj.so.10) 
    at java.lang.ClassLoader.loadClass(libgcj.so.10) 
    at java.lang.ClassLoader.loadClass(libgcj.so.10) 
    at gnu.java.lang.MainThread.run(libgcj.so.10) 
Slave JVM has terminated. Exit code=1 
[07/03/17 11:12:19] Launch failed - cleaning up connection 
[07/03/17 11:12:19] [SSH] Connection closed. 

有一兩件事我注意到的是,它似乎與錯配的Java版本的問題。

它似乎返回java版本1.5。但我已經檢查了從服務器和主服務器。它目前安裝了Java 1.8。

ldndsr000004921$ java -version 
java version "1.8.0_66" 
Java(TM) SE Runtime Environment (build 1.8.0_66-b17) 
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) 

詹金斯系統環境如下:

enter image description here

請指教?

+2

該死詹金斯成功啓動,哪裏還有我的午餐? –

+0

我想說你是在正確的軌道上。我的jenkins 2代理啓動顯示:java -version返回1.8.0_121。你是否以ssh用戶身份運行java -version? –

+0

是的,它是同一個用戶,我關心的一件事是配置了指向java 8版本的JAVA_HOME變量在'.profile'中設置,以便它可以在通過ssh運行時加載,反正有loa在執行slave.jar文件之前執行d'profile'。 。 @SteveMiskiewicz – Joey

回答

0

這是由於javPath沒有正確設置。我能夠通過指定javaPath來修正它,以更正java版本。

enter image description here

建立後,詹金斯代理能夠如下

[07/04/17 03:18:56] [SSH] Starting sftp client. 
[07/04/17 03:18:56] [SSH] Copying latest slave.jar... 
[07/04/17 03:18:56] [SSH] Copied 717,563 bytes. 
Expanded the channel window size to 4MB 
[07/04/17 03:18:56] [SSH] Starting slave process: cd "/app/taiji/build/jenkins2" && /app/phoenix/jdk1.8.0_66/bin/java -jar slave.jar 
<===[JENKINS REMOTING CAPACITY]===>channel started 
Slave.jar version: 3.4.1 
This is a Unix agent 
Evacuated stdout 
Agent successfully connected and online 
+0

另一種方法是在執行slave.jar啓動命令之前設置'Prefix Start Slave command'加載用戶配置文件設置 – Joey