Utility-Module
Sammlung von Hilfsmodulen zur Unterstützung des Plattformbetriebs. Diese werden nicht permanent ausgeführt, sondern bei Bedarf aktiviert.
Die in das Container-Image aufgenommenen Module sind festgelegt, und eine große Anzahl der nachfolgend aufgeführten Module ist nicht in der aktuellen Auslieferung enthalten. Diese Pfade existieren nicht im Container.
| Modul | Zweck | Aktuelle Auslieferung |
|---|---|---|
| backup | Integrierte Sicherung (PG / Cassandra / Dateien) | ✅ Im Data Lake Container enthalten |
| mirror-maker | Datenreplikation (HA / DR) | ✅ Separater Container — mirror Profil ist standardmäßig deaktiviert |
| api | REST API Client-Bibliothek | ✅ Bibliothek für externe Java-Projekte (unabhängig vom Container) |
| setup | Massenregistrierung anfänglicher Modelle (CSV) | ❌ Nicht im Image enthalten |
| recovery | Datenwiederherstellung | ❌ Nicht im Image enthalten |
| exporter | Zeitreihen-CSV-Export | ❌ Nicht im Image enthalten |
| migrator | Cassandra-Datenmigration | ❌ Ab 2026-08-30 ausgeschlossen |
| lab | Jupyter / Metabase Analyseumgebung | ❌ Ab 2026-08-30 ausgeschlossen |
migrator und lab wurden aus dem Image explizit entfernt, weil «der Orchestrator sie nicht aufruft, es keine Unit gibt und tatsächlich kein Prozess läuft» (lab belegte 792 MB des Image).
Wenn Sie die folgenden Verfahren benötigen, wenden Sie sich bitte an webmaster@kopens.com.
Module, die im Data Lake Container enthalten sind, werden innerhalb des Containers ausgeführt.
cd /opt/kopens/plantpulse-platform-docker/bin
./shell.sh
plantpulse-setup
Das Folgende ist als Referenz für Umgebungen gedacht, die dieses Modul separat haben.
Massenregistrierung von Site-, Asset-, OPC- und Tag-Modellen basierend auf CSV-Dateien.
cd /opt/kopens/plantpulse-platform/plantpulse-setup/bin
./setup.sh \
--host ${PP_HOST_IP} --port 7003 \
--user api --password 'api123!' \
--dir /opt/kopens/plantpulse-platform/plantpulse-setup/model/_example
CSV-Dateireihenfolge:
1_SITE_LIST.csv— Site-Liste2_ASSET_TREE.csv— Asset-Hierarchie3_OPC_LIST.csv— OPC-Serververbindungen4_TAG_LIST.csv— Tag-Definitionen
plantpulse-backup
Integrierte Sicherung für PostgreSQL (pgBackRest), Cassandra (Medusa) und Dateien (Restic).
cd /opt/kopens/plantpulse-platform/plantpulse-backup/bin
./backup.sh --install # 초기 설정
./backup.sh --postgres # PG Differential (기본)
./backup.sh --postgres full # PG Full
./backup.sh --postgres incr # PG Incremental
./backup.sh --cassandra # Cassandra Differential
./backup.sh --cassandra full # Cassandra Full
./backup.sh --purge # 보관 정책 정리
./backup.sh --cron-install # 크론 자동 등록
./backup.sh --cron-remove
# 파일 백업
/opt/kopens/plantpulse-platform/plantpulse-backup/etc/run_restic.sh
Weitere Details finden Sie unter Sicherung und Wiederherstellung.
plantpulse-recovery
Neuverarbeitung von Zeitreihendaten für ein bestimmtes Asset nach Zeitraum.
cd /opt/kopens/plantpulse-platform/plantpulse-recovery/bin
./recovery.sh ASSET_01032 20260101 20260530
plantpulse-exporter
Zeitreihen-Daten CSV-Export + dsbulk für große Datenmengen.
cd /opt/kopens/plantpulse-platform/plantpulse-exporter/bin
# 에셋 단위 CSV 추출
./export.sh ASSET_01032 20260101 20260530 /tmp
# 테이블 전체 벌크 언로드 (dsbulk)
./bulk-unload.sh pp tm_tag_point
# → /data1/pp-backup/cassandra/bulk/tm_tag_point.gz
# 벌크 로드 (복원)
./bulk-load.sh pp tm_tag_point
plantpulse-migrator
Spark-basierte Cassandra-Migration zwischen Servern (Serverwechsel / Cluster-Migration).
cd /opt/kopens/plantpulse-platform/plantpulse-migrator/bin
./run.sh 192.168.0.41 192.168.0.237 pp.tm_tag_point
plantpulse-mirror-maker
Datenreplikation (HA / DR). Läuft in einem eigenen Container und ist an das mirror Profil gebunden, daher standardmäßig nicht aktiv.
cd /opt/kopens/plantpulse-platform-docker
# 켜기
docker compose -f compose/docker-compose.yml --profile mirror up -d plantpulse-mirror-maker
# 상태 · 로그
docker compose -f compose/docker-compose.yml --profile mirror ps
bin/logs.sh plantpulse-mirror-maker
Die Konfiguration wird wie bei anderen Containern über Umgebungsvariablen in compose übergeben.
plantpulse-simulator
Zeitreihen-Datensimulator für Tests und Demos. Auf Basis von RANDOM oder CSV, maximal 10.000 MPS.
cd /opt/kopens/plantpulse-platform/plantpulse-simulator/bin
vi run.sh # TYPE, MPS, CSV 설정
./run-daemon.sh
./log-viewer.sh
./stop.sh
Konfigurationsbeispiel:
TYPE="RANDOM" # RANDOM | CSV
MPS="10000" # 초당 메시지 수
PROTOCOL="KAFKA"
# CSV 모드
CSV="/home/simul/data/20260530.csv"
SPEED="1.0" # 1.0 실시간, 2.0 2배속
plantpulse-api
PlantPulse REST API Client Java-Bibliothek.
plantpulse-api/
├── lib/ # 의존 jar
└── target/
├── plantpulse-api.jar
├── plantpulse-buffer.jar
├── plantpulse-cassandra-3.0.jar
├── plantpulse-cassandra.jar
└── plantpulse-cep-api.jar
Nach Hinzufügen der Abhängigkeit in pom.xml / build.gradle eines externen Java-Projekts verwenden. Detaillierte Nutzungsanweisungen finden Sie unter API-Benutzerhandbuch.
plantpulse-lab
Jupyter und Metabase wurden vom Orchestrator nicht gestartet und liefen nicht als tatsächliche Prozesse, daher wurde das Image um die 792 MB reduziert.
Die Jupyter-Karte kann noch in der Web-Konsole angezeigt werden, aber diese Karte funktionierte auch vor dieser Änderung nicht. Wenn Sie eine Analyseumgebung benötigen, empfehlen wir, diese extern separat aufzusetzen und über Kyuubi (10000) und PostgreSQL (5432) zu verbinden.
Analyseumgebung für Data Scientists und Entwickler.
plantpulse-lab/
├── jupyter/ # Jupyter Notebook
│ ├── bin/
│ ├── logs/
│ └── notebook/ # 노트북 저장소
└── metabase/ # Metabase (BI 도구)
├── bin/
└── metabase.jar
Jupyter
cd /opt/kopens/plantpulse-platform/plantpulse-lab/jupyter/bin
./start.sh
# 기본 포트 8888
Mit vorinstallierten PySpark / cassandra-driver / psycopg2 für sofortige Analysen verfügbar.
Metabase
cd /opt/kopens/plantpulse-platform/plantpulse-lab/metabase/bin
./start.sh
# 기본 포트 3001
Visuelle BI-Dashboards für Nicht-Entwickler. Direkte Verbindung zu PostgreSQL / Kyuubi.