メインコンテンツまでスキップ

経路マップ — 何がどこにあるか

データレイクのファイルは ホスト と コンテナ内 の二つの世界に分かれています。どちらの経路か混同することが事故の半分です。このページは «そのファイルはどこにあるのか» に答える一枚の地図です。

覚えるべきは3行です
  1. 修正するファイルはホストの /etc/kopens/ の下 にあります。
  2. コンテナ内の /opt/kopens/plantpulse-platform/…/conf/ は生成物 です。修正しても次回起動時に消えます。
  3. データ・バックアップ・一時ファイルは Docker ボリューム なので、コンテナを作り直しても残ります。

ホスト​

オペレーターが修正するファイル — /etc/kopens/​

パス何修正するかボックス間コピー
/etc/kopens/plantpulse-platform.envシークレットサイドカー — サービスパスワード・APIキー・TLSパスワード。権限 0600パスワードは passwd.sh で。秘密でない値は VAR=값 行を直接そのままコピー
/etc/kopens/platform.node.envノードファイル — このボックスだけに真の値(PP_MASTER_IP · PP_KAFKA_ADVERTISED_HOST · DOCKER_PP_EXTERNAL_IP · PP_NODE_ID)直接編集絶対コピー禁止
/etc/kopens/conf/設定テンプレート 33個(*.template)。コンテナの plantpulse-datalake-cli/config/templates にバインドマウント直接編集 → テンプレート修正必要なら
/etc/kopens/conf.dist/過去のデプロイイメージが実際に載せたテンプレート デフォルト値(3-way比較の基準線)。コンテナに読み取り専用マウント触らない — デプロイごとにツールが更新—
/etc/kopens/conf.backup/<시각>/テンプレート再シード時にツールが残したバックアップ参考のみ—
/etc/kopens/ca/ボックス間共有CA(CA.crt · CA.key)2番目のボックスへ移すときのみ最初のボックス → 次のボックス
/etc/kopens/workers.rosterクラスターワーカー一覧 <id> <ip>worker-add.sh 系ツールのみ—
/etc/kopens/rotation.journalパスワードローテーション進行記録(0600)。失敗したローテーションを継続する根拠触らない—

運用スクリプト — /opt/kopens/plantpulse-platform-docker/​

パス何
bin/運用動詞すべて — 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ホスト側のデフォルト値とホストで 計算される 値(コア・メモリ・ディスク)。bin/env.sh --print が «このボックスの現在の有効値と出典» を出力します
compose/docker-compose.ymlコンテナ定義。データレイクが受け取る環境変数・公開ポート・ボリューム・メモリ制限
compose/platform.env.exampleオペレーターが開くその1ファイル — 使用可能な変数すべてがコメント付きで。ここで行を選んでサイドカーやノードファイルに書き写します(生成物なので直接修正しません)
compose/platform.node.env.exampleノードファイルの雛形
bin/env.sh を直接修正しないでください

古い案内の中に «env.sh に export を追加せよ» というものがあります。動作はしますが、インストールツリー内にあるためアップデート・再インストールに脆弱です。同じ値を サイドカーやノードファイル に VAR=값 として書けばインストールツリー外なので生き残り、優先順位も高くなります → 値が決定される順序

Docker ボリューム​

ホストの named volume です。remove.sh でコンテナを削除しても ボリュームは残ります。

ボリュームコンテナ内パス何
pp-data/data1/pp-data (PP_DATA_DIR)すべてのデータ — Aster TSDB · PostgreSQL · Valkey · RustFS · Kafka · Spark イベントログ · 論理ダンプ · 計画外停止記録
pp-temp/data1/pp-temp (PP_TEMP_DIR)一時ファイル。pd clean が空にします。ここに保管用ファイルを置かないでください
pp-backup/data1/pp-backup (PP_BACKUP_DIR)物理バックアップ保存先(pgbackrest/ · medusa/) · バックアップ履歴 · コンソール設定リビジョン
pp-security/var/securityTLS 素材。plantpulse-certs コンテナが生成し、データレイクとアプリが読み取ります

コンテナ内​

コンテナに入る方法は2つです。コマンドを1つだけ打つときは docker exec、複数打つときはシェルを開きます。

docker exec plantpulse-datalake pd status # 하나만
/opt/kopens/plantpulse-platform-docker/bin/shell.sh # 셸 열기 (= docker exec -it … bash)

ランタイムツリー — PP_HOME=/opt/kopens/plantpulse-platform​

パス何
plantpulse-datalake-cli/pd 自身。bin/pd · cmd/ · lib/ · services/order.txt · config/defaults.env · config/render.map
plantpulse-datalake-cli/config/templates/ホスト /etc/kopens/conf が マウントされた 場所。コンテナ内で見えるのはホストのコピーです
plantpulse-datalake-cli/config/templates.dist/ホスト /etc/kopens/conf.dist が読み取り専用でマウントされた場所
plantpulse-storage/cache/valkey · db/postgres · db/cassandra · object/rustfsストレージネット。それぞれ bin/ conf/ logs/
plantpulse-analytics/spark · hive · gravitino · kyuubi分析ネット
plantpulse-messaging/kafka · mqttブローカー2つ
plantpulse-timeseries/engine · dashboard時系列エンジンと PlantPulse Dashboard
plantpulse-cep/ · plantpulse-data-gateway/Tomcat 上のウェブモジュール。設定は config/、ログは server/logs/
plantpulse-workflow/temporal · kestraワークフローエンジン2つ
plantpulse-datalake-admin-api/管理コンソールバックエンド。webapp/ が画面、logs/pd-events.jsonl がイベントジャーナル
plantpulse-backup/物理バックアップツールキット(bin/backup.sh)。スケジュールはここではなく datalake DB の backup_schedule テーブルにあります

pd env がこのリストを このノードの実際の値 で出力します。パスを暗記せずこのコマンドを使ってください。

docker exec plantpulse-datalake pd env

生成物 — 修正すると消えるもの​

pd start が毎回テンプレートをレンダリングして以下の場所に書き込みます。最初の行は # GENERATED by pd from <템플릿> - edit /etc/kopens/plantpulse-platform.env instead です。

生成物元テンプレート(ホスト /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

全体対応表は 設定ファイルはどこにあるか — テンプレート一覧 にあります。

ログ​

何どこ見る方法
ブートログ — pd start がサービスランチャー出力を追記したもの/var/log/plantpulse-datalake.logpd logs (BOOT タグ)
コンテナ視点のブートコピー/var/log/plantpulse-boot.logtail
サービスログ約40個各モジュールの logs/ — 一覧は pd logs --listpd logs [서비스]
上記すべてを合わせたコンテナログDockerホストで bin/logs.sh plantpulse-datalake
イベントジャーナル — 誰がいつ start/stop/backup したかplantpulse-datalake-admin-api/logs/pd-events.jsonlコンソールイベント画面、tail
計画外停止記録/data1/pp-data/pd/downtime/pd downtime

その他の場所​

何どこ
TLS 素材/var/security/plantpulse/ (.certs_generated が生成記録)
PostgreSQL 論理ダンプ/data1/pp-data/postgres/dump/
物理バックアップ保存先・履歴・ロック/data1/pp-backup/ (pgbackrest/ · medusa/ · history.jsonl · pd-backup.lock)
バックアップツール設定 — パスワードが含まれるため貼り付けないでください/etc/pgbackrest/pgbackrest.conf · /etc/medusa/medusa.ini (起動時に pd が書き込みます)
バックアップスケジュールオーバーライド/data1/pp-data/backup/schedule.json
イメージ識別情報/etc/plantpulse-image.env · /etc/plantpulse-modules.json

関連ドキュメント​