Zum Hauptinhalt springen

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.

Drei Sätze zum Merken
  1. Dateien, die Sie ändern, liegen auf dem Host unter /etc/kopens/.
  2. /opt/kopens/plantpulse-platform/…/conf/ im Container sind generiert. Änderungen verschwinden beim nächsten Start.
  3. 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/

PfadWasÄndern?Zwischen Boxen kopieren?
/etc/kopens/plantpulse-platform.envSecrets-Sidecar — Service-Passwörter · API-Schlüssel · TLS-Secrets. Berechtigungen 0600Passwörter über passwd.sh. Nicht-Secret-Werte direkt in der Zeile VAR=값So wie es ist kopieren
/etc/kopens/platform.node.envNode-Datei — Werte, die nur auf dieser Box gelten (PP_MASTER_IP · PP_KAFKA_ADVERTISED_HOST · DOCKER_PP_EXTERNAL_IP · PP_NODE_ID)Direkt bearbeitenNiemals kopieren
/etc/kopens/conf/Konfigurationsvorlagen 33 Stück (*.template). Bind-Mount in den Container unter plantpulse-datalake-cli/config/templatesDirekt bearbeiten → Vorlage ändernBei 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 ContainerNicht anfassen — wird bei jeder Bereitstellung vom Tool aktualisiert
/etc/kopens/conf.backup/<시각>/Backup, das das Tool beim Vorlage-Reseed hinterlässtNur zur Referenz
/etc/kopens/ca/Gemeinsame CA zwischen Boxen (CA.crt · CA.key)Nur beim Verschieben auf die nächste BoxErste Box → nächste Box
/etc/kopens/workers.rosterCluster-Worker-Liste <id> <ip>Nur worker-add.sh-Familie von Tools
/etc/kopens/rotation.journalProtokoll zum Drehen von Passwörtern (0600). Grundlage zum Fortsetzen fehlgeschlagener RotationenNicht anfassen

Betriebsskripte — /opt/kopens/plantpulse-platform-docker/

PfadWas
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.shHost-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.ymlContainer-Definition. Umgebungsvariablen, die der Datalake erhält · öffentliche Ports · Volumes · Speicherlimits
compose/platform.env.exampleDie 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.exampleVorlage für Node-Datei
bin/env.sh nicht direkt bearbeiten

Alte 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.

VolumePfad im ContainerWas
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/securityTLS-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

PfadWas
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/minioVier Speicherdienste. Jeweils bin/ conf/ logs/
plantpulse-analytics/spark · hive · gravitino · kyuubiVier Analysedienste
plantpulse-messaging/kafka · mqttZwei Broker
plantpulse-timeseries/engine · dashboardZeitreihen-Engine und Grafana
plantpulse-cep/ · plantpulse-data-gateway/Zwei Web-Module auf Tomcat. Konfiguration unter config/, Protokolle unter server/logs/
plantpulse-workflow/temporal · kestraZwei 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.

GeneriertOriginal-Vorlage (Host /etc/kopens/conf/)
plantpulse-storage/db/postgres/conf/postgresql.conf · pg_hba.confpostgresql.conf.template · pg_hba.conf.template
plantpulse-storage/db/cassandra/conf/cassandra.yaml · jvm-server.optionscassandra.yaml.template · jvm-server.options.template
plantpulse-storage/cache/valkey/conf/valkey.confvalkey.conf.template
plantpulse-messaging/kafka/config/kafka.properties · jaas.confkafka.properties.template · kafka-jaas.conf.template
plantpulse-messaging/mqtt/conf/config.xml · auth.propertieshivemq.xml.template · plantpulse-mq-auth.properties.template
plantpulse-cep/config/plantpulse-cep.propertiesplantpulse-cep.properties.template
plantpulse-data-gateway/config/plantpulse-jdbc.properties · plantpulse-data-gateway.propertiesplantpulse-jdbc.properties.template · plantpulse-data-gateway.properties.template

Die vollständige Zuordnungstabelle finden Sie unter Wo befinden sich die Konfigurationsdateien — Vorlagenliste.

Protokolle

WasWoWie zu sehen
Boot-Protokoll — pd start verkettet die Ausgabe des Service-Launchers/var/log/plantpulse-datalake.logpd logs (BOOT-Tag)
Boot-Kopie aus Container-Perspektive/var/log/plantpulse-boot.logtail
~40 Service-ProtokolleJeweils logs/ jedes Moduls — Liste unter pd logs --listpd logs [서비스]
Alle oben genannten kombiniertDockerAuf dem Host bin/logs.sh plantpulse-datalake
Ereignisjournal — wer hat wann start/stop/backup durchgeführtplantpulse-datalake-admin-api/logs/pd-events.jsonlKonsolen-Ereignisschirm, tail
Protokoll ungeplanter Stopps/data1/pp-data/pd/downtime/pd downtime

Weitere Orte

WasWo
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

Verwandte Dokumentation