2016-05-01 9 views
1

ich Kafka auf einem Remote-Server installiert ist, und als ich versuchte,Kafka Unerkannte VM Option 'PrintGCDateStamps'

~/kafka/bin/zookeeper-server-start.sh ~/kafka/config/zookeeper.properties 

zu laufen und ich erhielt einen Fehler

Unrecognized VM option 'PrintGCDateStamps' 

Und der kafka-Server nicht gestartet werden . Dies wurde nicht in einer VM ausgeführt und wurde direkt auf Ubuntu Server 16.04 mit Java ordnungsgemäß installiert. Irgendwie kann das einfach korrigiert werden?

+0

GC Protokollierung wurde in JDK 9. Die Liste der Legacy-XX-Flags geändert, die als Teil dieser Arbeit entfernt wurden, sind in der JDK 9-Versionen Hinweise dokumentiert, siehe: http://www.oracle.com/technetwork /java/javase/9-notes-3745703.html#JDK-8145092 –

Antwort

4

Gleiches Problem auf Ubuntu 16.04 mit Orakel jdk 9 installiert, ich habe auch versucht, Openjdk 1.9 und bekam den gleichen Fehler. Aber wenn ich andere Version jdk versuche, fand ich, dass Oracle jdk 8 und openjdk 1.8 beide in Ordnung sind.

So überprüfen Sie einfach heraus, welche Version von Java Sie verwenden, können Sie vielleicht oder auf andere Version von jdk durch Schalter installieren:

update-alternatives --display java 
update-alternatives --config java 
java -version 
+0

Löschte meine Antwort zugunsten dieser. Vielen Dank! –

0

Also habe ich eine Antwort gefunden und wollte es posten, falls jemand anderes dieses Problem hatte. Im kafka/ist/kafka-run-class.sh am unteren Ende gibt es einen Teil, in dem sagt es

exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "[email protected]" 

die $ KAFKA_GC_LOG_OPTS Option Löschen. Könnte ein Hack sein, aber zumindest bringt es den Kafka-Tierpfleger-Server zum Starten!

+1

Sie sollten die Variable $ KAFKA_GC_LOG_OPTS wahrscheinlich nicht entfernen, sondern herausfinden, wo sie gesetzt ist, und dann den Wert dort ändern. Die PrintGCDateStamps stammen möglicherweise von einer neueren Version von Java als Sie installiert haben, aber Sie möchten wahrscheinlich eine Form der GC-Protokollierung aktivieren. Führen Sie 'java -XX: + PrintFlagsFinal' aus, um alle Flags zu sehen, die Ihre bestimmte Java-Version versteht. – AlBlue

+0

Vielen Dank! –

0

@Mitchell Tracy, ich weiß, das ist ein bisschen älter Faden, Ich habe nur meine Ergebnisse zum selben Thema veröffentlicht, wenn jemand auf dasselbe Problem stößt.

Ich hatte jdk-9 (Early Access) zeigt in meinem $ java_home, ich habe alle Arten von Fehlern per se, Unrecognized VM option 'PrintGCDateStamps', -loggc deprecreated, -cp requires a classpath specified, und so weiter.

Die jdk-9 aus $ java_home mit einem Befehl (sudo mv jdk1.8.0.jdk ~/Dokumente) aus dem Weg geschafft und das Terminal neu gestartet, es funktionierte wie ein Charme! Ich konnte Zoowärter-Server-Start und Kafka starten. Ich hoffe, das hilft.

+0

Das selbe für die JDK 9 Release-Version für mich jetzt. Haben Sie in Kafka usw. ein Problem erstellt? – Dmitriy

0

Ab sofort enthält das Standardpaket des Kafka Fehler mit Java 9. Die einfachste Lösung ist ein Rollback auf java8.

sudo add-apt-repository ppa:webupd8team/java 
sudo apt update; sudo apt install oracle-java8-installer 
sudo apt install oracle-java8-set-default 
Verwandte Themen