Häufig gestellte Fragen (FAQ)
Suchen Sie nach Symptomen oder Fragen. Die Antworten sind kurz gehalten, detaillierte Anleitungen finden Sie über die Links.
Konfiguration
Sidecar geändert, aber keine Auswirkung
Im Container gibt es keine Sidecar-Datei. Die Werte werden als Umgebungsvariablen in den Container eingebracht, wenn compose den Container neu erstellt. docker restart startet lediglich mit denselben Umgebungsvariablen neu.
cd /opt/kopens/plantpulse-platform-docker/bin
./restart-datalake.sh
Falls es immer noch nicht funktioniert, prüfen Sie zuerst ① mit bin/env.sh --print, welche Datei Vorrang hat, und ② ob compose den Namen an das Data-Lake weitergibt → Wenn Änderungen nicht übernommen werden
Konfigurationsdatei im Container geändert, aber zurückgesetzt
Das ist normal. Unter PP_HOME ist alles unter conf/ ein Erzeugnis, und pd start schreibt es bei jedem Mal aus der Vorlage neu. Die Stelle zum Ändern ist /etc/kopens/conf/<파일>.template auf dem Host → Vorlage ändern
export PP_PG_PASSWORD=… bin/up.sh wird stillschweigend ignoriert
Wenn der Sidecar den Namen bereits führt, gewinnt der Sidecar. Der einzige Weg, den Wert auf einem bereits installierten Knoten zu ändern, ist über bin/passwd.sh → Passwörter · API-Schlüssel ändern
Image hochgeladen, aber neue Standardwerte kommen nicht an
/etc/kopens/conf ist eine Hostdatei und ändert sich nicht von selbst. Das Startwerkzeug führt bei jedem Deployment einen 3-Wege-Abgleich durch, behält aber vom Bediener geänderte Dateien bei und informiert über [WARN] operator edit kept, but THE IMAGE DEFAULT CHANGED. Diese Datei muss manuell zusammengeführt werden.
docker exec plantpulse-datalake pd config diff --templates # differs / missing 인 파일
TEMPLATE_FORCE_SEED=1 ./restart-datalake.sh # 통째로 이미지 기본값으로 (백업은 도구가 남긴다)
Andere Boxen (Edge · AI · Worker) können sich nicht mit diesem Data-Lake verbinden
Prüfen Sie, ob in der Knotendatei die LAN-Adresse dieses Hosts eingetragen ist. Wenn sie leer bleibt, gilt die Adresse im compose-Netzwerk (10.99.0.100), und die Kommunikation funktioniert nur innerhalb derselben Box.
sudo vi /etc/kopens/platform.node.env # PP_MASTER_IP=<이 호스트의 LAN IP>
./restart-datalake.sh
Wenn nur Kafka keine Verbindung bekommt, liegt es an der Werbeadresse → Knotendatei
Renderer lehnt mit exit 8 ab
Die Werbeadresse ist 127.0.0.1. Geben Sie in der Knotendatei unter PP_HOST_IP · PP_MASTER_IP · PP_KAFKA_ADVERTISED_HOST die tatsächliche Adresse an. Die Fehlermeldung nennt den zu korrigierenden Namen.
Renderer bleibt bei exit 3 oder exit 4 stehen
exit 3— Erforderliche Secrets sind leer. Die Meldung listet alle Namen auf. In den Sidecar eintragen und neu erstellen.exit 4— Im Template fehlt ein Wert unter${PP_*}. Die Meldung zeigt이름@템플릿:줄. Wert in der Knotendatei angeben oder das Template korrigieren.
Kann ich eine einzelne Komponente (z. B. Hive) deaktivieren?
Es gibt zwar einen PD_OPTIONS='{"enable-hive": false}'-Schalter in pd, aber der aktuelle compose-Stack reicht diese Variable nicht an den Container weiter. Selbst wenn Sie sie in den Sidecar oder die Knotendatei schreiben, erreicht sie den Container nicht, und es wird nichts deaktiviert. Dies ist als Produktverbesserung gemeldet. Der alte Name PP_OPTIONS wird nirgends mehr gelesen.
Sprache auf Koreanisch umstellen
Tragen Sie PP_LANG=ko in den Sidecar ein und führen Sie restart.sh aus (betrifft auch die App, daher vollständiger Neustart). Die Administrationskonsole ist separat; hängen Sie ?lang=ko an das Ende der Adresse an.
Passwörter · Konten
Nach Passwortänderung erscheint die Plattform nicht
Entweder das Server-Konto oder der Sidecar wurde geändert. Prüfen Sie zuerst, welcher Wert gültig ist.
docker exec plantpulse-datalake bash -c 'PGPASSWORD="<구값>" psql -U plantpulse -h 127.0.0.1 -c "SELECT 1;"'
docker exec plantpulse-datalake bash -c 'PGPASSWORD="<신값>" psql -U plantpulse -h 127.0.0.1 -c "SELECT 1;"'
Wenn die Anmeldung mit dem alten Wert funktioniert, wurde das Server-Konto nicht geändert; wenn mit dem neuen Wert, muss nur der Sidecar angepasst werden. Verwenden Sie künftig passwd.sh → Passwörter · API-Schlüssel ändern
passwd.sh lehnt mit «variable not in the registry» ab
Dieser Schlüssel ist nicht für die Rotation vorgesehen. Nur die 11 in --list aufgeführten sind es. Alle anderen folgen dem manuellen Verfahren. Bei einem Tippfehler schlägt das System ähnliche Schlüssel vor.
Rotation mitten im Vorgang fehlgeschlagen
Führen Sie denselben Befehl einfach erneut aus. Das Journal weiß, wie weit es gekommen ist, und setzt fort. Es gibt kein Rollback. Bei probe=NEITHER oder verify 실패 muss eine Person direkt auf die betreffende Komponente zugreifen und den Status prüfen.
Worker-Knoten vorhanden, aber passwd.sh wird abgelehnt
Das ist beabsichtigt. Wenn nur der Master rotiert, behalten die Worker den alten Wert, und das Cluster wird „halbiert“. Ändern Sie es über das manuelle Verfahren und wiederholen Sie für jeden Worker: Sidecar aktualisieren + Neustart.
Anmeldeseite der Administrationskonsole sagt «nicht konfiguriert»
PP_DATALAKE_ADMIN_PASSWORD ist leer. Das ist keine Störung.
bin/passwd.sh PP_DATALAKE_ADMIN_PASSWORD # --list 에 이 키가 있으면
# 없으면 (2026-09-05 이전 패키지) 사이드카에 줄을 적고 ./restart-datalake.sh
Daten-Gateway · CEP-Konsolen-Login funktioniert nicht
PP_DATA_GATEWAY_WEB_PASSWORD · PP_CEP_WEB_PASSWORD haben keinen Standardwert; wenn sie leer sind, wird nur diese Konsole geschlossen. In den Sidecar eintragen und restart-datalake.sh → Abfragekonsolen
Dashboards in PlantPulse Dashboard werden nach Container-Neuerstellung zurückgesetzt
Seit 2026-09-08 behoben. Der PlantPulse-Dashboard-Speicher wurde von SQLite im Image auf PostgreSQL umgestellt, sodass Dashboards · Datenquellen · Benutzer · Benachrichtigungsregeln die Neuerstellung des Containers überleben.
Bei einer bereits installierten Installation 🔴 werden die Inhalte nicht automatisch übernommen. Wenn auf ein leeres PostgreSQL verwiesen wird, erscheint ein leeres PlantPulse Dashboard → Zeitreihen · PlantPulse Dashboard
pd start stoppt mit Exit-Code 3 (PlantPulse Dashboard)
PP_GRAFANA_DB_PASSWORD ist leer. Seit dem 2026-09-08 ist dies ein erforderlicher Startwert — in den Sidecar eintragen und neu starten.
SQL-Tool-Karte verschwunden
SQL wird in der Data-Gateway-Konsole (https://<server-ip>:5501/) ausgeführt. Auf der Werkzeuge-Seite der Administrationskonsole gibt es eine Data-Gateway-Karte.
Start · Status
pd status zeigt ein STOPPED, gerade eben gestartet
Das ist die Startphase. Der Kyuubi von analytics erscheint als letztes, aber ab spark-master dauert es etwa 54 Sekunden. Schauen Sie nach 1 Minute erneut. Wenn es weiterhin so ist, pd logs --lines 100 <서비스>.
docker ps zeigt Up, aber alle Dienste sind tot
Verdacht auf Speicher-OOM. Da PID 1 systemd ist, stirbt nur Java, der Container bleibt am Leben.
dmesg -T | grep -i "memory cgroup"
docker inspect plantpulse-datalake --format '{{.State.OOMKilled}}'
pd stop endete mit STILL RUNNING (Exit 7)
Nicht sofort pd start. Sehen Sie sich zuerst an, was noch da ist, mit pd kill --dry-run, prüfen Sie dann pd kill → pd status auf Leere, und führen Sie schließlich pd start aus.
pd start lehnt mit «already running» ab
Es läuft bereits. Um es neu zu starten, beginnen Sie mit pd stop. Verwenden Sie FORCE=1 nicht, da es denselben Port über einen lebenden Prozess erneut startet.
Erster Start dauert über 10 Minuten
Beim ersten Start kann die Aster-TSDB-Schemaerstellung allein bis zu 500 Sekunden für den Speicher benötigen. Deshalb beträgt die Startverzögerung des Containers 900 Sekunden. Verfolgen Sie den Fortschritt mit bin/logs.sh -f plantpulse-datalake.
Konsole zeigt «Another job is already running on this node»
Dies ist ein Symptom eines admin-api-Images vor dem 2026-09-04. Prüfen Sie IMAGE_BUILT_AT in pd env; wenn es alt ist, update.sh. Auch mit dem neuen Image akzeptiert der Button «Prüfung ausführen» nur einen Auftrag gleichzeitig — warten Sie kurz und klicken Sie erneut.
pd auf dem Host ergibt «command not found»
pd existiert nur im Container. Gehen Sie mit docker exec plantpulse-datalake pd … oder bin/shell.sh hinein und führen Sie es dort aus.
Daten
Daten kommen nicht an
Sehen Sie sich mit pd flow an, wo in der Kette MQTT → Kafka → Consumer etwas blockiert ist.
docker exec plantpulse-datalake pd flow
Wenn LAG groß ist, sind die Consumer (Server · CEP · Batch) langsam oder gestoppt. NA bedeutet «nie gelesen» — wenn MEMB 0 ist, läuft kein Consumer; wenn größer als 0, aber das Topic leer ist, ist das normal. Die Topologie-Ansicht der Administrationskonsole zeigt dasselbe grafisch.
Festplatte voll / wird nicht kleiner
docker exec plantpulse-datalake pd storage # 얼마나 있나 — 볼륨 · WAL · 슬롯 · 스냅샷
docker exec plantpulse-datalake pd retention # 언제 사라지나 — TTL · 토픽 보존 · 콜드 티어
- Wenn
snapshotsin Aster TSDB groß ist,pd node cleanup(Snapshots löschen — destruktiv). - Wenn
slot.orphansichtbar ist, halten Replikations-Slots entfernter Worker das WAL fest — auf dem Hostops-check.sh --reclaim. - Bei Logs eines gestoppten Moduls
pd clean. TTL noneinpd retentionbedeutet nicht «kein Ablauf», sondern «kein Tabellenstandardwert». Tabellen mit TTL pro Zeile (ts_data_points) laufen normal ab.- Wenn
last advanceincold_tiersich seit über 48 Stunden nicht bewegt, ist der Archiv-Job gestoppt — das ist oft die eigentliche Ursache dafür, dass der heiße Speicher nicht kleiner wird.
Kafka zeigt DOWN mit «advertises 127.0.0.1»
Die Adresse in der Knotendatei ist leer → Knotendatei. Die Dateien broker.properties · server.properties im Container sind Beispieldateien der Kafka-Distribution; erschrecken Sie nicht — der Broker liest nur kafka.properties.
Zeitreihendaten verschwinden nach einigen Tagen
Die Lebensdauer eines Zeitreihenpunkts beträgt PP_TSE_DATAPOINT_TTL (Standard 365 Tage). Vor dem 2026-09-05 war es ein 31-Tage-Literal. Der Wert wird beim Schreiben festgehalten; wenn Sie ihn erhöhen, werden bereits geschriebene Zeilen nicht wiederbelebt → Variablenreferenz
Backup
Wie sehe ich, ob Backups erstellt werden?
docker exec plantpulse-datalake pd backup schedule # 잡 다섯의 일정 · 마지막 결과
docker exec plantpulse-datalake pd backup list # 세트 목록
Die Backup-Ansicht der Administrationskonsole zeigt dasselbe → Backup · Wiederherstellung
Nächtliche Backup-Zeit ändern
docker exec plantpulse-datalake pd backup schedule set --job postgres-diff --cron "0 45 2 * * ?"
Sie übersteht die Neuerstellung des Containers — der Wert wird in die backup_schedule-Zeile der Data-Lake-Datenbank geschrieben.
--calendar ist ein altes FlagWird noch akzeptiert, aber eine Warnung erscheint. Schlimmer ist, dass der Wert unverändert übernommen wird — diese Spalte erwartet einen Quartz-Cron (초 분 시 일 월 요일, sechs Stellen). Wenn Sie systemd-Syntax (*-*-* 02:45:00) eingeben, wird ein ungültiger Ausdruck gespeichert. Verwenden Sie --cron.
cassandra-full bleibt dauerhaft fail (exit 120 (medusa))
Bei Images vor dem 2026-09-04 hat niemand die Medusa-Konfiguration geschrieben, daher schlug es täglich fehl. Jetzt schreibt pd beim Start von Aster TSDB sie neu — prüfen Sie nach pd restart storage mit pd backup run --engine cassandra --type full.
Logs
Wo sehe ich die Logs?
Auf dem Host mit bin/logs.sh plantpulse-datalake (letzte 200 Zeilen, mit -f verfolgen), im Container mit pd logs [서비스]. App-Container-Logs sind nicht unter pd logs, sondern über logs.sh <서비스> → Logs und Health
Ich möchte wissen, wer wann einen Dienst gestoppt hat
Im Ereignisjournal plantpulse-datalake-admin-api/logs/pd-events.jsonl oder in der Ereignis-Ansicht der Administrationskonsole. Befehle, die über die Konsole ausgeführt wurden, bleiben als operator:<name> erhalten. Über die Konsole geänderte Einstellungen erscheinen im Audit-Bildschirm.
Weitere Informationen
pdCLI — Tabelle zur Fehlerbehebung — Exit-Codes- Fehlerbehebung — Plattformweit
- Port- und Diensteverwaltung — Portkonflikte · Firewall