Ich versuche Kafka in Eclipse einzurichten. Ich folgte der Dokumentation und installierte die benötigten Plugins und importierte die Projekte. Ich versuche, die Umgebung so einzustellen, dass ich den Kafka-Server von Eclipse aus starten und Zeile für Zeile debuggen kann. Mein Endziel ist es, zu Kafka beizutragen. Um die Code-Architektur zu verstehen, muss ich in der Lage sein, den Code Zeile für Zeile zu debuggen und zu sehen, was im Hintergrund passiert. Ich habe versucht, das Startskript von kafka zu lesen, das einige Parameter setzt, um die jeweilige Klasse tatsächlich aufzurufen. zum Beispiel in kafka-server-start.sh setzt (es setzt mehr Parameter als ich erwähnt)Wie man Kafka-Quellcode zum Debuggen in IDE einrichtet
KAFKA_HEAP_OPTS = some value KAFKA_LOG4J_OPTS = some value EXTRA_ARGS="-name kafkaServer -loggc"
nach, dass es
exec $base_dir/kafka-run-class.sh $EXTRA_ARGS kafka.Kafka "[email protected]"
Nun ruft ich in diesem Skript ging Es gibt For-Schleifen, die dem Klassenpfad einige Werte hinzufügen, z. B. (es gibt mehr als einen für die Schleife)
Am Ende, wie es tatsächlich ist, den kafka Server startet
# Launch mode
if [ "x$DAEMON_MODE" = "xtrue" ]; then
nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "[email protected]" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
else
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]"
fi
nicht sicher, wie dies alles zu sagen, wenn es zu verdunkeln läuft. Lassen Sie mich wissen, ob ich die ganze Skriptdatei hier einfügen soll. Selbst wenn ich eine Idee habe, wie ich das machen kann, kann ich es versuchen. Ich denke, ich kann diese Argumente im Argumente-Fenster übergeben, und es gibt auch eine Klassenpfad-Registerkarte in den Debug-Konfigurationen, aber sollte ich alle Pfade aus den Skripten in diesem Fenster hinzufügen?
Durch die Übergabe der Datei server.properties wird kafka von der IDE ausgeführt. Danke für die Vereinfachung. –