経路マップ — 何がどこにあるか
データレイクのファイルは ホスト と コンテナ内 の二つの世界に分かれています。どちらの経路か混同することが事故の半分です。このページは «そのファイルはどこにあるのか» に答える一枚の地図です。
覚えるべきは3行です
- 修正するファイルはホストの
/etc/kopens/の下 にあります。 - コンテナ内の
/opt/kopens/plantpulse-platform/…/conf/は生成物 です。修正しても次回起動時に消えます。 - データ・バックアップ・一時ファイルは 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/security | TLS 素材。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.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 |
全体対応表は 設定ファイルはどこにあるか — テンプレート一覧 にあります。
ログ
| 何 | どこ | 見る方法 |
|---|---|---|
ブートログ — pd start がサービスランチャー出力を追記したもの | /var/log/plantpulse-datalake.log | pd logs (BOOT タグ) |
| コンテナ視点のブートコピー | /var/log/plantpulse-boot.log | tail |
| サービスログ約40個 | 各モジュールの logs/ — 一覧は pd logs --list | pd 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 |