Überblick
Ab Version 26.2 der Lobster Data Platform ersetzt der Lobster Application Wrapper die bisherigen plattformspezifischen Startmechanismen (z. B. execute.sh, manuell registrierte Windows-Dienste oder eigene Init-Skripte) durch eine einheitliche, betriebssystemübergreifende Lösung. Sie müssen dazu einige Schritte zur Einrichtung vornehmen.
Was der Wrapper leistet
Der Wrapper ist eine Java-basierte Anwendung, die Ihre Lobster-Anwendungen als Systemdienste registriert und verwaltet – unter Windows über den Service Control Manager, unter Linux über systemd. Er kann eine oder mehrere Java-Anwendungen parallel starten und überwachen und koordiniert den Neustart Ihres gesamten Clusters, einschließlich aller Lobster-Data-Platform-Instanzen (Node-Controller und Worker-Nodes) sowie DMZ-Server (Primary und Secondaries).
Warum ein Wrapper?
Bisher hing die Art, wie die Lobster Data Platform gestartet und gestoppt wurde, stark vom Betriebssystem und von individuellen Anpassungen ab. Diese heterogenen Betriebsabläufe erhöhten die Abhängigkeit vom Lobster-Support, insbesondere bei Neustarts in Cluster-Setups.
Der Wrapper löst diese Probleme:
Einheitliche Kommandos: gleiche Befehle unter Windows und Linux. Kein plattformspezifisches Wissen nötig.
Eigenständiger Betrieb: Sie starten, stoppen und starten Ihre Umgebung neu, wann immer Sie es benötigen. Kein Support-Ticket, keine Wartezeit.
Cluster-weiter Neustart: Der Wrapper koordiniert den Neustart aller Knoten (Node-Controller, Worker-Nodes) und DMZ-Server (Primary und Secondaries).
Zentrale Konfiguration: JVM-Parameter und Speichereinstellungen pflegen Sie in einer einzigen Datei (
platform.json).Multi-Application-Management: Mehrere Java-Anwendungen lassen sich mit demselben Wrapper verwalten.
Was sich ändert
Vorher | Ab Version 26.2 |
|---|---|
Startskripte ( | Zentrale Konfiguration in |
Plattformspezifische Dienstregistrierung | Ein Kommando: |
Neustart häufig über den Lobster Support | Eigenständiger Neustart durch Kunden per Kommando |
Unterschiedliche Abläufe je nach Betriebssystem | Identische Kommandos auf allen Plattformen |
Log-Ausgabe in unterschiedliche Dateien je nach Betriebssystem (z. B. | Einheitliche Log-Ausgabe in |
Architektur
Der Wrapper besteht aus folgenden Komponenten:
Datei | Rolle | Anpassbar |
|---|---|---|
| Haupt-Wrapper – führt alle Kommandos aus | |
| Ihre Dienstkonfiguration (JVM-Parameter, Speicher, Classpath) | Ja |
| Interne Service-Konfiguration | Eingeschränkt (siehe Referenz) |
| Updater-Konfiguration | Nein |
Log-Ausgabe
Der Wrapper schreibt seine Log-Ausgabe einheitlich in die Datei logs/wrapper.log und zwar sowohl im Dienstbetrieb als auch im Konsolenmodus (--run). Das gilt gleichermaßen für Windows und Linux. Die bisherige Datei console.txt wird nicht mehr erzeugt.
Systemvoraussetzungen
JDK 11 oder höher ist eingerichtet und über
javaauf der Kommandozeile erreichbar.Lobster Data Platform ≥ 26.2 ist installiert.
Sie haben Administrator-Rechte (Windows) oder Root-Rechte (Linux).
Windows: Service Control Manager
Linux:
systemd
Windows-Wrapper: Java-Versionskompatibilität
Unter Windows hängt die Wrapper-Kompatibilität von der installierten Wrapper-Generation und der verwendeten Java-Version ab. Prüfen Sie Ihr Szenario in der folgenden Tabelle.
Szenario | Java-Version | Handlungsbedarf |
|---|---|---|
Neuinstallation (neuer Wrapper) | Java 11 oder Java 21 | Keiner. Der neue Wrapper funktioniert mit beiden Java-Versionen korrekt. |
Bestehende Installation, Verbleib bei Java 11 | Java 11 | Keiner. Der bisherige Windows-Wrapper (Tanuki Software) funktioniert unter Java 11 weiterhin. |
Bestehende Installation, Upgrade auf Java 21 | Java 21 | WICHTIG Die Migration zum neuen Wrapper ist zwingend erforderlich. Der bisherige Windows-Wrapper (Tanuki) ist nicht mit Java 21 kompatibel. Ohne Migration lässt sich der Dienst nicht starten. |
Das Upgrade einer bestehenden Windows-Installation auf Java 21 erfordert zuvor die Migration zum neuen Wrapper. Befolgen Sie die Schritte unter How-to: Von einer bestehenden Installation migrieren.
Weiterführende Informationen:
Ersteinrichtung → Application Wrapper einrichten
Migration → How-to: Von einer bestehenden Installation migrieren
Kommandos und Konfiguration → Referenz
Application-Wrapper einrichten
Diese Anleitung führt Sie Schritt für Schritt durch die Ersteinrichtung des Lobster Application Wrappers. Am Ende läuft Ihre Lobster Data Platform als Systemdienst mit automatischem Start beim Systemboot.
1. Installationsdateien prüfen
Öffnen Sie eine Kommandozeile und wechseln Sie in das Installationsverzeichnis Ihrer Lobster Data Platform. Prüfen Sie, ob die Wrapper-Dateien vorhanden sind:
# Linux
ls -la ./bin/application-wrapper.jar ./bin/platform.json ./bin/wrapper.json ./bin/updater.json
# Windows
dir .\bin\application-wrapper.jar .\bin\platform.json .\bin\wrapper.json .\bin\updater.jsonSie sollten alle vier Dateien sehen: application-wrapper.jar, platform.json, wrapper.json und updater.json. Falls nicht, ist Ihre Installation möglicherweise nicht auf Version 26.2 oder höher aktualisiert.
2. Speichereinstellungen prüfen
Öffnen Sie die Datei ./bin/platform.json in einem Texteditor und prüfen Sie die Heap-Speichereinstellungen:
"-Xms4096M",
"-Xmx4096M"Passen Sie die Werte an die verfügbaren Ressourcen Ihres Servers an. Setzen Sie -Xms und -Xmx auf den gleichen Wert, um dynamische Speicheranpassungen zur Laufzeit zu vermeiden. Typische Werte liegen zwischen 2048M und 8192M.
TIPP Bei Unsicherheiten bezüglich der optimalen Speicherkonfiguration wenden Sie sich an den Lobster-Support.
3. Bisherige Startmechanismen deaktivieren
Falls Ihre Lobster Data Platform bisher über andere Mechanismen gestartet wurde (z. B. Init-Skripte, manuell registrierte Dienste, Cron-Jobs), deaktivieren Sie diese vor der Wrapper-Installation, um Konflikte zu vermeiden.
WICHTIG
Wenn Sie bisherige Startmechanismen nicht deaktivieren, kann die Plattform zwar weiterhin starten. Die Neustart-Funktionalität (
--restart-service,--stop-service) funktioniert dann aber nicht. Der Wrapper kann die Anwendung nur dann vollständig steuern, wenn er der einzige Steuerungsmechanismus ist.
4. Dienst installieren
java -jar ./bin/application-wrapper.jar --install-serviceDer Wrapper registriert den Dienst und aktiviert den Autostart für Windows und Linux.
5. Dienst starten
java -jar ./bin/application-wrapper.jar --start-service6. Status prüfen
java -jar ./bin/application-wrapper.jar --service-statusSie sollten eine Ausgabe sehen, die bestätigt, dass der Dienst läuft.
7. Funktionstest
Melden Sie sich an der Lobster Data Platform an und prüfen Sie, ob die Anwendung wie erwartet funktioniert. Prüfen Sie auch die Datei ./logs/wrapper.log auf Fehler.
Erledigt. Ihre Lobster Data Platform läuft als Systemdienst und startet automatisch beim nächsten Systemboot. Die vollständige Kommandoreferenz finden Sie in der Referenz.
How-to: Wrapper verwalten
Von einer bestehenden Installation migrieren
Diese Anleitung beschreibt die Migration zum Wrapper, wenn Ihre Lobster Data Platform bisher über eigene Startskripte oder manuell registrierte Dienste betrieben wurde.
Voraussetzungen
Lobster Data Platform ≥ 26.2 ist installiert.
Sie kennen Ihre aktuellen JVM-Parameter (z. B. aus der
execute.shoderexecute.bat).
Schritte
Aktuelle JVM-Parameter sichern.
Notieren Sie alle eigenen Java-Parameter aus Ihrer bisherigen
execute.shoderexecute.bat.Parameter in
platform.jsonübertragen.Öffnen Sie
./bin/platform.jsonund fügen Sie Ihre Parameter als zusätzliche Einträge im ArrayjvmArgshinzu:"jvmArgs": [ ... (bestehende Einträge belassen) ... "-Dmein.eigener.parameter=wert", "-Dweiterer.parameter=true" ]Bisherige Startmechanismen deaktivieren.
Deaktivieren oder entfernen Sie alle bestehenden Dienste, Init-Skripte und sonstigen Startmechanismen.
WICHTIG
Dieser Schritt ist entscheidend für die Funktionsfähigkeit des Wrappers. Wenn Sie bisherige Startmechanismen nicht deaktivieren, kann die Plattform zwar weiterhin starten. Die Neustart-Funktionalität (
--restart-service,--stop-service) funktioniert dann aber nicht. Der Wrapper kann die Anwendung nur dann vollständig steuern, wenn er der einzige Steuerungsmechanismus ist.Dienst installieren und starten.
java -jar ./bin/application-wrapper.jar --install-service java -jar ./bin/application-wrapper.jar --start-serviceFunktionstest durchführen.
Prüfen Sie die Anwendung und die Datei
./logs/wrapper.logauf Fehler.
TIPP Legen Sie vor jeder Änderung an platform.json eine Sicherungskopie an.
Dienst neu starten
java -jar ./bin/application-wrapper.jar --restart-serviceAlternativ können Sie den Dienst stoppen und separat wieder starten:
java -jar ./bin/application-wrapper.jar --stop-service
java -jar ./bin/application-wrapper.jar --start-serviceHINWEIS Beim Stoppen räumt der Wrapper der Anwendung eine konfigurierbare Zeitspanne für ein geordnetes Herunterfahren ein (Standardwert: 120 Sekunden). Wird diese überschritten, wird der Prozess erzwungen beendet. Bei Plattformen mit vielen gleichzeitigen oder langlaufenden Verarbeitungen kann eine Anpassung dieses Timeouts sinnvoll sein – siehe Shutdown-Timeout anpassen.
HINWEIS Für den Cluster-weiten Neustart führen Sie --restart-service auf einem beliebigen Cluster-Host aus. Die Anfrage landet automatisch beim Node-Controller. Dieser ist die Schaltzentrale des Clusters. Er koordiniert den Neustart aller Instanzen über REST bzw. den Messageservice. Voraussetzung ist ein korrekt konfigurierter und erreichbarer Cluster.
Autostart deaktivieren oder aktivieren (nur Linux)
Standardmäßig startet der Dienst automatisch beim Systemboot. Um dieses Verhalten zu ändern:
# Autostart deaktivieren
java -jar ./bin/application-wrapper.jar --disable-service
# Autostart wieder aktivieren
java -jar ./bin/application-wrapper.jar --enable-service HINWEIS Unter Windows wird der Autostart über den Service Control Manager gesteuert und bei der Installation automatisch aktiviert. Die Kommandos --enable-service und --disable-service stehen daher nur unter Linux zur Verfügung.
Anwendung im Konsolenmodus starten
Für Tests oder Fehleranalysen können Sie die Anwendung ohne Dienstregistrierung direkt in der Konsole starten:
java -jar ./bin/application-wrapper.jar --runDie Log-Ausgabe wird – wie im Dienstbetrieb – in logs/wrapper.log geschrieben. Beenden Sie den Prozess mit Strg+C.
HINWEIS Nicht für den Produktivbetrieb geeignet. Verwenden Sie den Konsolenmodus ausschließlich für Tests und Fehleranalysen.
Speichereinstellungen ändern
Dienst stoppen:
java -jar ./bin/application-wrapper.jar --stop-serviceDie Datei
./bin/platform.jsonöffnen und die Werte für-Xmsund-Xmxanpassen:"-Xms8192M", "-Xmx8192M"Dienst starten:
java -jar ./bin/application-wrapper.jar --start-service
Eigene JVM-Parameter hinzufügen
Wenn Sie zusätzliche System-Properties oder JVM-Optionen benötigen, fügen Sie diese als weitere Einträge im Array jvmArgs der Datei platform.json hinzu:
"jvmArgs": [
"-Xms4096M",
"-Xmx4096M",
"-server",
... (bestehende Einträge) ...
"-Dmein.eigener.parameter=wert",
"-Dweiterer.parameter=true"
]Damit die Änderungen wirksam werden, starten Sie den Dienst anschließend neu.
Shutdown-Timeout anpassen
Beim Stoppen oder Neustarten räumt der Wrapper der Anwendung eine konfigurierbare Zeitspanne für das geordnete Herunterfahren ein. Der Standardwert beträgt 120 Sekunden. Überschreitet die Anwendung das Timeout, erzwingt der Wrapper das Beenden des Prozesses. Bei Plattformen mit vielen gleichzeitigen oder langlaufenden Verarbeitungen kann eine Erhöhung sinnvoll sein, damit offene Transaktionen sauber abgeschlossen werden können.
Dienst stoppen:
java -jar ./bin/application-wrapper.jar --stop-serviceDie Datei
./bin/wrapper.jsonöffnen und den Wert vonprocess.shutdown.timeout(Angabe in Sekunden) anpassen.Dienst starten:
java -jar ./bin/application-wrapper.jar --start-service
WICHTIG Verändern Sie in wrapper.json ausschließlich die in der Referenz dokumentierten Parameter. Alle übrigen Einträge sind interne Konfiguration und dürfen nicht verändert werden. Legen Sie vor jeder Änderung eine Sicherungskopie an.
Dienst vollständig deinstallieren
# Dienst stoppen
java -jar ./bin/application-wrapper.jar --stop-service
# Dienst deinstallieren
java -jar ./bin/application-wrapper.jar --uninstall-serviceReferenz: Kommandos und Konfiguration
Alle Kommandos werden über die Wrapper-JAR-Datei ausgeführt:
java -jar ./bin/application-wrapper.jar <Kommando>Kommando | Beschreibung | Plattform |
|---|---|---|
| Installiert den Dienst und aktiviert den Autostart. | Windows, Linux |
| Deinstalliert den Dienst. | Windows, Linux |
| Startet den Dienst. | Windows, Linux |
| Stoppt den Dienst. | Windows, Linux |
| Startet den Dienst neu. | Windows, Linux |
| Zeigt den aktuellen Dienststatus an. | Windows, Linux |
| Aktiviert den Autostart beim Systemboot. | Nur Linux |
| Deaktiviert den Autostart beim Systemboot. | Nur Linux |
| Startet die Anwendung im Konsolenmodus (Tests, Fehleranalyse). | Windows, Linux |
Konfigurationsdatei: platform.json
Pfad: ./bin/platform.json
Die Datei platform.json ist die zentrale Konfigurationsdatei Ihres Anwendungsdienstes. Sie enthält JVM-Parameter, Speichereinstellungen und den Classpath. Legen Sie vor jeder Änderung eine Sicherungskopie an.
Parameter
Parameter | Typ | Beschreibung | Anpassbar |
|---|---|---|---|
| String | Anzeigename des Dienstes. | Ja |
| String | Vollqualifizierter Name der Java-Main-Klasse. | Nein |
| String[] | JVM-Argumente: Speicher, System-Properties, Debug-Optionen. | Ja |
| String[] | Classpath-Einträge für den Anwendungsstart. | In der Regel nicht nötig |
| String[] | Kommandozeilenargumente für die Main-Klasse. | Nein |
Speichereinstellungen
Parameter | Beschreibung | Empfehlung |
|---|---|---|
| Minimaler Heap-Speicher (Startwert) | Identisch zu |
| Maximaler Heap-Speicher | Richtet sich nach Datenvolumen und Anzahl gleichzeitiger Verarbeitungen. Typische Werte: 2048M bis 8192M. |
Variablen
Variable | Beschreibung | Hinweis |
|---|---|---|
| Wird zur Laufzeit durch den Pfad des Anwendungsverzeichnisses ersetzt. | Systemvariable – nicht ändern oder entfernen. |
WICHTIG Die Variable %APP_DIR% wird vom Wrapper automatisch verwaltet. Ändern oder entfernen Sie diese Platzhalter nicht.
Konfigurationsdatei: wrapper.json
Pfad: ./bin/wrapper.json
Die Datei wrapper.json enthält die interne Dienstkonfiguration des Wrappers. Für Anpassungen vorgesehen sind ausschließlich die unten aufgeführten Parameter – alle übrigen Einträge (insbesondere die Verweise auf geladene Anwendungen und deren Konfigurationsdateien wie updater.json und platform.json) sind interne Konfiguration und dürfen nicht verändert werden.
WICHTIG Ändern Sie in wrapper.json nur die unten dokumentierten Parameter, wenn Sie einen triftigen Grund dafür haben. Normalerweise ist eine Anpassung dieser Parameter nicht erforderlich. Legen Sie vor jeder Änderung eine Sicherungskopie an. Änderungen werden nach einem Neustart des Dienstes wirksam.
Parameter
Parameter | Typ | Beschreibung | Anpassbar |
|---|---|---|---|
| String | Anzeigename des Wrapper-Dienstes im Betriebssystem. Er kann nur vor der ersten Dienstinstallation ( | Nur vor |
| Integer (Sekunden) | Zeit, die der Wrapper der Anwendung für ein geordnetes Herunterfahren einräumt (z. B. bei | Ja |
Empfehlung
Bei Plattformen mit vielen gleichzeitigen oder langlaufenden Verarbeitungen kann ein höherer Wert für
process.shutdown.timeoutsinnvoll sein, damit offene Transaktionen sauber abgeschlossen werden können, bevor der Prozess hart beendet wird.
Dateiübersicht
Datei | Beschreibung | Anpassbar |
|---|---|---|
| Haupt-Wrapper-Anwendung | Nein |
| Konfiguration des Anwendungsdienstes | Ja |
| Interne Service-Konfiguration | Nur |
| Updater-Service-Konfiguration | Nein – nicht verändern |
| Log-Ausgabe des Wrappers (Dienst- und Konsolenmodus) | Nein |