Pfadkarte — was liegt wo
Die Dateien im Data Lake verteilen sich auf zwei Welten: Host und Container. Die Hälfte aller Unfälle passiert, weil man nicht weiß, auf welcher Seite der Pfad liegt. Diese Seite ist eine einseitige Karte, die die Frage „Wo ist diese Datei?“ beantwortet.
- Dateien, die Sie ändern, liegen unter
/etc/kopens/auf dem Host. - Die
/opt/kopens/plantpulse-platform/…/conf/im Container sind Erzeugnisse. Änderungen gehen beim nächsten Start verloren. - Daten, Backups und temporäre Dateien liegen in Docker-Volumes und bleiben auch nach einem Neustart des Containers erhalten.
Host
Dateien, die der Betreiber ändert — /etc/kopens/
| Pfad | Was | Ändern | Kopieren zwischen Boxen |
|---|---|---|---|
/etc/kopens/plantpulse-platform.env | Secret-Sidecar — Dienstpasswörter · API-Keys · TLS-Passwörter. Berechtigung 0600 | Passwörter über passwd.sh. Nicht geheime Werte direkt in der Zeile VAR=값 | Unverändert kopieren |
/etc/kopens/platform.node.env | Knotendatei — Werte, die nur für diese Box gelten (PP_MASTER_IP · PP_KAFKA_ADVERTISED_HOST · DOCKER_PP_EXTERNAL_IP · PP_NODE_ID) | Direkt bearbeiten | Nie kopieren |
/etc/kopens/conf/ | Konfigurationsvorlagen 33 Stück (*.template). Bind-Mount auf plantpulse-datalake-cli/config/templates des Containers | Direkt bearbeiten → Vorlage ändern | Bei Bedarf |
/etc/kopens/conf.dist/ | Von früheren Deployments — dienen als Standardwerte der Vorlagen (Basislinie für den 3-Wege-Abgleich). Read-only-Mount in den Container | Nicht anfassen — wird bei jedem Deployment vom Tool aktualisiert | — |
/etc/kopens/conf.backup/<시각>/ | Sicherung, die das Tool beim Neu-Auffüllen der Vorlagen hinterlässt | Nur zur Referenz | — |
/etc/kopens/ca/ | Gemeinsames CA zwischen Boxen (CA.crt · CA.key) | Nur beim Wechsel auf die zweite Box | Erste Box → nächste Box |
/etc/kopens/workers.roster | Liste der Cluster-Worker <id> <ip> | Nur Werkzeuge der worker-add.sh-Familie | — |
/etc/kopens/rotation.journal | Fortschrittsprotokoll der Passwort-Rotation (0600). Grundlage, um fehlgeschlagene Rotationen fortzusetzen | Nicht anfassen | — |
Betriebsskripte — /opt/kopens/plantpulse-platform-docker/
| Pfad | Was |
|---|---|
bin/ | Alle Betriebsverben — up.sh down.sh restart.sh restart-datalake.sh status.sh logs.sh shell.sh passwd.sh rotate-secret.sh update.sh backup.sh doctor.sh ops-check.sh … |
bin/env.sh | Hostseitige Standardwerte und Werte, die auf dem Host berechnet werden (Kerne · Speicher · Datenträger). bin/env.sh --print gibt „aktuelle gültige Werte und deren Quelle“ aus |
compose/docker-compose.yml | Containerdefinition. Umgebungsvariablen, veröffentlichte Ports, Volumes und Speicherlimits, die der Data Lake erhält |
compose/platform.env.example | Die eine Datei, die der Betreiber öffnet — alle verfügbaren Variablen mit Kommentaren. Hier Zeilen auswählen und in die Sidecar- oder Knotendatei übertragen (Erzeugnis, deshalb nicht direkt bearbeiten) |
compose/platform.node.env.example | Gerüst der Knotendatei |
bin/env.sh nicht direkt bearbeitenIn älteren Anleitungen steht: „Fügen Sie export zu env.sh hinzu“. Das funktioniert zwar, liegt aber im Installationsbaum und ist bei Updates oder Neuinstallationen anfällig. Tragen Sie denselben Wert als VAR=값 in Sidecar oder Knotendatei ein — außerhalb des Installationsbaums bleibt er erhalten, und die Priorität ist höher → Reihenfolge der Wertbestimmung
Docker-Volumes
Dies sind benannte Volumes auf dem Host. Auch wenn Sie den Container mit remove.sh löschen, bleiben die Volumes bestehen.
| Volume | Pfad im Container | Was |
|---|---|---|
pp-data | /data1/pp-data (PP_DATA_DIR) | Alle Daten — Aster TSDB · PostgreSQL · Valkey · RustFS · Kafka · Spark-Ereignisprotokoll · logische Dumps · Aufzeichnung ungeplanter Stopps |
pp-temp | /data1/pp-temp (PP_TEMP_DIR) | Temporäre Dateien. pd clean leert sie. Legen Sie hier keine Archivdateien ab |
pp-backup | /data1/pp-backup (PP_BACKUP_DIR) | Physisches Backup-Repository (pgbackrest/ · medusa/) · Backup-Verlauf · Konsolen-Konfigurationsrevisionen |
pp-security | /var/security | TLS-Material. Wird vom plantpulse-certs-Container erstellt und vom Data Lake sowie den Apps gelesen |
Im Container
Es gibt zwei Wege, in den Container zu gelangen. Für einen einzelnen Befehl genügt docker exec, für mehrere öffnen Sie eine Shell.
docker exec plantpulse-datalake pd status # 하나만
/opt/kopens/plantpulse-platform-docker/bin/shell.sh # 셸 열기 (= docker exec -it … bash)
Laufzeitbaum — PP_HOME=/opt/kopens/plantpulse-platform
| Pfad | Was |
|---|---|
plantpulse-datalake-cli/ | pd selbst. bin/pd · cmd/ · lib/ · services/order.txt · config/defaults.env · config/render.map |
plantpulse-datalake-cli/config/templates/ | Stelle, an der der Host-/etc/kopens/conf gemountet ist. Was im Container sichtbar ist, ist eine Kopie des Hosts |
plantpulse-datalake-cli/config/templates.dist/ | Stelle, an der der Host-/etc/kopens/conf.dist read-only gemountet ist |
plantpulse-storage/cache/valkey · db/postgres · db/cassandra · object/rustfs | Speichernetz. Jeweils bin/ conf/ logs/ |
plantpulse-analytics/spark · hive · gravitino · kyuubi | Analytik-Netz |
plantpulse-messaging/kafka · mqtt | Zwei Broker |
plantpulse-timeseries/engine · dashboard | Zeitreihen-Engine und PlantPulse Dashboard |
plantpulse-cep/ · plantpulse-data-gateway/ | Web-Module auf Tomcat. Konfiguration in config/, Logs in server/logs/ |
plantpulse-workflow/temporal · kestra | Zwei Workflow-Engines |
plantpulse-datalake-admin-api/ | Backend der Verwaltungskonsole. webapp/ ist die Oberfläche, logs/pd-events.jsonl das Ereignisprotokoll |
plantpulse-backup/ | Physisches Backup-Toolkit (bin/backup.sh). Der Zeitplan steht nicht hier, sondern in der Tabelle backup_schedule der datalake-DB |
pd env gibt diese Liste mit den tatsächlichen Werten dieses Knotens aus. Merken Sie sich keine Pfade, sondern verwenden Sie diesen Befehl.
docker exec plantpulse-datalake pd env
Erzeugnisse — was beim Ändern verloren geht
pd start rendert bei jedem Mal die Vorlagen und schreibt sie an die folgenden Stellen. Die erste Zeile ist # GENERATED by pd from <템플릿> - edit /etc/kopens/plantpulse-platform.env instead.
| Erzeugnis | Originalvorlage (Host /etc/kopens/conf/) |
|---|---|
plantpulse-storage/db/postgres/conf/postgresql.conf · pg_hba.conf | postgresql.conf.template · pg_hba.conf.template |
plantpulse-storage/db/cassandra/conf/cassandra.yaml · jvm-server.options | cassandra.yaml.template · jvm-server.options.template |
plantpulse-storage/cache/valkey/conf/valkey.conf | valkey.conf.template |
plantpulse-messaging/kafka/config/kafka.properties · jaas.conf | kafka.properties.template · kafka-jaas.conf.template |
plantpulse-messaging/mqtt/conf/config.xml · auth.properties | hivemq.xml.template · plantpulse-mq-auth.properties.template |
plantpulse-cep/config/plantpulse-cep.properties | plantpulse-cep.properties.template |
plantpulse-data-gateway/config/plantpulse-jdbc.properties · plantpulse-data-gateway.properties | plantpulse-jdbc.properties.template · plantpulse-data-gateway.properties.template |
Die vollständige Zuordnungstabelle finden Sie unter Wo sind die Konfigurationsdateien — Vorlagenliste.
Logs
| Was | Wo | Ansehen |
|---|---|---|
Boot-Log — pd start hängt die Ausgabe des Service-Launchers an | /var/log/plantpulse-datalake.log | pd logs (BOOT-Tag) |
| Boot-Kopie aus Containersicht | /var/log/plantpulse-boot.log | tail |
| Etwa 40 Service-Logs | logs/ der jeweiligen Module — Liste unter pd logs --list | pd logs [서비스] |
| Zusammengeführter Container-Log (alles oben) | Docker | Auf dem Host: bin/logs.sh plantpulse-datalake |
| Ereignisprotokoll — wer hat wann start/stop/backup ausgeführt | plantpulse-datalake-admin-api/logs/pd-events.jsonl | Ereignisbildschirm der Konsole, tail |
| Aufzeichnung ungeplanter Stopps | /data1/pp-data/pd/downtime/ | pd downtime |
Weitere Speicherorte
| Was | Wo |
|---|---|
| TLS-Material | /var/security/plantpulse/ (.certs_generated schreibt das Erzeugungsprotokoll) |
| PostgreSQL-Logischer Dump | /data1/pp-data/postgres/dump/ |
| Physisches Backup-Repository · Verlauf · Locks | /data1/pp-backup/ (pgbackrest/ · medusa/ · history.jsonl · pd-backup.lock) |
| Backup-Tool-Konfiguration — enthält Passwörter, nicht einfügen | /etc/pgbackrest/pgbackrest.conf · /etc/medusa/medusa.ini (wird beim Start von pd geschrieben) |
| Backup-Zeitplan-Override | /data1/pp-data/backup/schedule.json |
| Image-Identität | /etc/plantpulse-image.env · /etc/plantpulse-modules.json |