2017-07-03 2 views
0

Ich versuche, ein jenkins Cluster auf unseren Servern einzurichten. Nach dem Konfigurieren eines Slave-Knotens und dem Versuch, diesen Slave vom Master zu starten, konnte er nicht gestartet werden.konnte nicht gestartet werden jenkins slave

Fehlerprotokoll

[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. 

Eine Sache, die ich bemerkt habe ist, dass es Probleme mit unpassenden Java-Versionen zu haben scheint.

Es scheint Java Version 1.5 zurückzugeben. aber ich habe beide Slave und Master Server überprüft. Es hat derzeit Java 1.8 installiert.

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) 

die jenkins Systemumgebung wie folgt:

enter image description here

Bitte raten?

+2

Goddammit Jenkins

enter image description here

Nach entsprechender Einrichtung zum Starten des jenkins Agent in der Lage ist, wo ist mein Mittagessen? –

+0

Ich würde sagen, Sie sind auf dem richtigen Weg. Mein Jenkins 2 Agent Start zeigt: java -version gab 1.8.0_121 zurück. Laufen Sie Java-Version als ssh Benutzer? –

+0

ja, es ist der gleiche Benutzer, eine Sache, die ich Sorge ist, dass die JAVA_HOME Variable, die konfiguriert wird, zeigt Java Version 8 wird in '.profile' gesetzt, so dass es jetzt geladen werden kann, wenn es durch ssh läuft, gibt es sowieso zu loa d 'profile 'vor der Ausführung der Datei slave.jar. . @SteveMiskiewicz – Joey

Antwort

0

Dies liegt daran, dass javPath nicht richtig eingerichtet ist. Ich konnte es reparieren, indem ich javaPath spezifizierte, um Java-Version zu korrigieren. erfolgreich wie unten

[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

Eine andere Möglichkeit besteht darin, 'Prefix Start Slave command' zu setzen, um die Benutzerprofileinstellung zu laden, bevor der slave.jar launch Befehl ausgeführt wird – Joey

Verwandte Themen