Pfadkarte — Was ist wo
Die Dateien im Datalake sind in zwei Welten aufgeteilt: auf dem Host und im Container. Die Verwirrung darüber, welcher Pfad wohin gehört, ist die Hälfte aller Probleme. Diese Seite ist eine einseitige Karte, die auf die Frage «Wo ist die Datei?» antwortet.
- Dateien, die Sie ändern, liegen auf dem Host unter
/etc/kopens/. /opt/kopens/plantpulse-platform/…/conf/im Container sind generiert. Änderungen verschwinden beim nächsten Start.- Daten · Sicherungen · temporäre Dateien sind Docker-Volumes — sie bleiben, auch wenn der Container neu erstellt wird.
Host
Dateien, die der Betreiber ändert — /etc/kopens/
| Pfad | Was | Ändern? | Zwischen Boxen kopieren? |
|---|---|---|---|
/etc/kopens/plantpulse-platform.env | Secrets-Sidecar — Service-Passwörter · API-Schlüssel · TLS-Secrets. Berechtigungen 0600 | Passwörter über passwd.sh. Nicht-Secret-Werte direkt in der Zeile VAR=값 | So wie es ist kopieren |
/etc/kopens/platform.node.env | Node-Datei — Werte, die nur auf dieser Box gelten (PP_MASTER_IP · PP_KAFKA_ADVERTISED_HOST · DOCKER_PP_EXTERNAL_IP · PP_NODE_ID) | Direkt bearbeiten | Niemals kopieren |
/etc/kopens/conf/ | Konfigurationsvorlagen 33 Stück (*.template). Bind-Mount in den Container unter plantpulse-datalake-cli/config/templates | Direkt bearbeiten → Vorlage ändern | Bei Bedarf |
/etc/kopens/conf.dist/ | Letztes bereitgestelltes Image enthält eigentlich die Standardwerte der Vorlage (Basislinie für 3-Wege-Vergleich). Read-only-Mount im Container | Nicht anfassen — wird bei jeder Bereitstellung vom Tool aktualisiert | — |
/etc/kopens/conf.backup/<시각>/ | Backup, das das Tool beim Vorlage-Reseed hinterlässt | Nur zur Referenz | — |
/etc/kopens/ca/ | Gemeinsame CA zwischen Boxen (CA.crt · CA.key) | Nur beim Verschieben auf die nächste Box | Erste Box → nächste Box |
/etc/kopens/workers.roster | Cluster-Worker-Liste <id> <ip> | Nur worker-add.sh-Familie von Tools | — |
/etc/kopens/rotation.journal | Protokoll zum Drehen von Passwörtern (0600). Grundlage zum Fortsetzen fehlgeschlagener Rotationen | 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 | Host-seitige Standardwerte und Werte, die auf dem Host berechnet werden (Cores · Speicher · Disk). bin/env.sh --print druckt «jetzt gültige Werte auf dieser Box und ihre Quelle» |
compose/docker-compose.yml | Container-Definition. Umgebungsvariablen, die der Datalake erhält · öffentliche Ports · Volumes · Speicherlimits |
compose/platform.env.example | Die eine Datei, die der Betreiber öffnet — alle verwendbaren Variablen mit Kommentaren. Wählen Sie Zeilen hier aus und kopieren Sie sie in die Sidecar- oder Node-Datei (nicht direkt bearbeiten, da generiert) |
compose/platform.node.env.example | Vorlage für Node-Datei |
bin/env.sh nicht direkt bearbeitenAlte Anleitungen sagen manchmal «fügen Sie export zu env.sh hinzu». Es funktioniert, aber es befindet sich im Installationsbaum, daher ist es anfällig für Updates und Neuinstallationen. Denselben Wert in der Sidecar- oder Node-Datei als VAR=값 eintragen ist sicherer, da es außerhalb des Installationsbaums liegt, und hat auch höhere Priorität → Reihenfolge der Wertbestimmung
Docker-Volumes
Named Volumes auf dem Host. Auch wenn Sie den Container mit remove.sh löschen, die Volumes bleiben bestehen.
| Volume | Pfad im Container | Was |
|---|---|---|
pp-data | /data1/pp-data (PP_DATA_DIR) | Alle Daten — Cassandra · PostgreSQL · Valkey · MinIO · Kafka · Spark-Ereignisprotokolle · logische Dumps · Protokolle ungeplanter Stopps |
pp-temp | /data1/pp-temp (PP_TEMP_DIR) | Temporäre Dateien. pd clean leert sie. Legen Sie hier keine Aufbewahrungsdateien ab |
pp-backup | /data1/pp-backup (PP_BACKUP_DIR) | Physischer Sicherungsspeicher (pgbackrest/ · medusa/) · Sicherungsverlauf · Konsolenkonfigurationsrevisionen |
pp-security | /var/security | TLS-Material. plantpulse-certs-Container generieren es, Datalake und App lesen es |
Im Container
Es gibt zwei Möglichkeiten, in den Container zu gelangen. Für einen einzelnen Befehl verwenden Sie 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)
Runtime-Baum — 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/ | Hier ist der Host /etc/kopens/conf eingebunden. Was Sie im Container sehen, ist eine Kopie vom Host |
plantpulse-datalake-cli/config/templates.dist/ | Hier ist der Host /etc/kopens/conf.dist read-only eingebunden |
plantpulse-storage/cache/valkey · db/postgres · db/cassandra · object/minio | Vier Speicherdienste. Jeweils bin/ conf/ logs/ |
plantpulse-analytics/spark · hive · gravitino · kyuubi | Vier Analysedienste |
plantpulse-messaging/kafka · mqtt | Zwei Broker |
plantpulse-timeseries/engine · dashboard | Zeitreihen-Engine und Grafana |
plantpulse-cep/ · plantpulse-data-gateway/ | Zwei Web-Module auf Tomcat. Konfiguration unter config/, Protokolle unter server/logs/ |
plantpulse-workflow/temporal · kestra | Zwei Workflow-Engines |
plantpulse-datalake-admin-api/ | Admin-Konsolenzentrale. webapp/ zeigt den Bildschirm, logs/pd-events.jsonl zeigt das Ereignisjournal |
plantpulse-backup/ | Physisches Sicherungs-Toolkit (bin/backup.sh) und systemd-Timer |
pd env druckt diese Liste mit den tatsächlichen Werten für diesen Knoten. Merken Sie sich Pfade nicht — verwenden Sie diesen Befehl.
docker exec plantpulse-datalake pd env
Generierte Objekte — verschwinden, wenn Sie sie ändern
pd start rendert die Vorlage jedes Mal neu und schreibt sie an die Orte unten. Die erste Zeile ist # GENERATED by pd from <템플릿> - edit /etc/kopens/plantpulse-platform.env instead.
| Generiert | Original-Vorlage (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 befinden sich die Konfigurationsdateien — Vorlagenliste.
Protokolle
| Was | Wo | Wie zu sehen |
|---|---|---|
Boot-Protokoll — pd start verkettet die Ausgabe des Service-Launchers | /var/log/plantpulse-datalake.log | pd logs (BOOT-Tag) |
| Boot-Kopie aus Container-Perspektive | /var/log/plantpulse-boot.log | tail |
| ~40 Service-Protokolle | Jeweils logs/ jedes Moduls — Liste unter pd logs --list | pd logs [서비스] |
| Alle oben genannten kombiniert | Docker | Auf dem Host bin/logs.sh plantpulse-datalake |
| Ereignisjournal — wer hat wann start/stop/backup durchgeführt | plantpulse-datalake-admin-api/logs/pd-events.jsonl | Konsolen-Ereignisschirm, tail |
| Protokoll ungeplanter Stopps | /data1/pp-data/pd/downtime/ | pd downtime |
Weitere Orte
| Was | Wo |
|---|---|
| TLS-Material | /var/security/plantpulse/ (.certs_generated führt Generierungsprotokoll) |
| PostgreSQL-logischer Dump | /data1/pp-data/postgres/dump/ |
| Physischer Sicherungsspeicher · Verlauf · Sperrungen | /data1/pp-backup/ (pgbackrest/ · medusa/ · history.jsonl · pd-backup.lock) |
| Sicherungs-Tool-Konfiguration — enthält Passwörter, nicht einfügen | /etc/pgbackrest/pgbackrest.conf · /etc/medusa/medusa.ini (pd schreibt beim Booten) |
| Sicherungsplan-Übersteuerung | /data1/pp-data/backup/schedule.json |
| Image-Identität | /etc/plantpulse-image.env · /etc/plantpulse-modules.json |