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

設定ファイルはどこにあるか

データレイクの設定は**«出典ふたつ、方向ひとつ»で作られます。運用者が修正するファイルは定まっており、コンテナ内の設定ファイルはそれを乗じて生成**したものです。

호스트 /etc/kopens/conf/*.template ← 설정의 «형태» (빈칸이 뚫린 원본)
× /etc/kopens/plantpulse-platform.env ← 시크릿 (비밀번호 · API 키)
× /etc/kopens/platform.node.env ← 이 노드의 값 (IP · 모드)
+ 이미지 안 config/defaults.env ← 비밀 아닌 기본값 (위에서 안 준 것만)
─────────────────────────────────────────
→ pd config render → /opt/kopens/plantpulse-platform/<module>/conf/… (생성물)

pd start毎回例外なく先にレンダリングします。そのためコンテナ内の生成物を手で修正しても次回起動で消えます。2026-09-01に実際にコンテナ内のcassandra.yamlを修正して認証をオンにしたが、再生成でファイルが戻ってしまい認証が全部壊れた事故がありました。

正本ファイルネット

#ファイル格納内容フォーマット誰が書くか
1/etc/kopens/plantpulse-platform.envシークレット— サービスアカウント パスワード · API キー · TLS パスワード。シークレットでない共通値もここに書けますVAR=값 一行に一つ、export なしで。ヘッダー二行(# generated: · # last rotation:)はツールが管理install.sh が作り、passwd.sh が更新。シークレットでない行は運用者が直接
2/etc/kopens/platform.node.envこのボックスにのみ真の値PP_MASTER_IP · PP_KAFKA_ADVERTISED_HOST · DOCKER_PP_EXTERNAL_IP · PP_NODE_ID同じフォーマットインストール ツールがテンプレートから作り、運用者が直接
3/etc/kopens/conf/*.template設定の形態 — 各エンジンの設定ファイル原本 33個各エンジンの構文 + ${PP_변수} プレースホルダ初回起動時にイメージからシード、その後運用者が直接
4(イメージ内) plantpulse-datalake-cli/config/defaults.envシークレットでない既定値 — ポート · アカウント名 · ディレクトリ · TLS 設定KEY=value製品。運用者は修正せず 1・2 で上書きします
パスワードはファイル編集で変わりません

サイドカーのパスワード行を修正するだけでは反映が終わりません。PostgreSQL · Cassandra のようにサーバー アカウントが正本である値はサーバー側も一緒に変えなければならず、順序を間違えるとプラットフォームが起動しません。bin/passwd.sh がその順序を代わりに踏みます → パスワード · API キーを変更する

値が決定される順序

ホストのbin/env.shが上から下へ読む順序がそのまま優先順位です。後に読まれるものが勝ちます。

優先順位出典なぜ勝つか
1 (最上)/etc/kopens/platform.node.envサイドカーの次に読む無条件代入
2/etc/kopens/plantpulse-platform.envVAR=값 無条件代入 — シェル export も上書きします
3呼び出しシェルのexport1 · 2 がその名前を記さなかったときだけ
4 (最下)bin/env.sh${VAR:-기본값}誰も決めなかったときだけ

その値が compose を経てコンテナに環境変数として入り、コンテナ内では渡された値がdefaults.envを勝ちます。

インストールが終わったノードでexportは静かに無視されます

PP_PG_PASSWORD=새값 bin/up.sh のようにシェルから値を与える方法はサイドカーがまだないノードでだけ統合します。サイドカーがすでにその名前を持っていればサイドカーが勝ちます。実際こうして変えたと思い込んで進んだ事故がありました。

このボックスの有効値と出典を今見るには、頭の中でシミュレーションせず、このコマンドを打ってください。シークレットは****で隠されます。

cd /opt/kopens/plantpulse-platform-docker
bin/env.sh --print

コンテナ内にはサイドカーがありません

コンテナには/etc/kopens/plantpulse-platform.envファイルがマウントされません。値はホストのbin/env.sh がサイドカーを読み、compose がそれを環境変数としてコンテナに入れるルートでのみ入ります。

そのため二つのことが従います。

  • サイドカーを修正した後はコンテナを再作成する必要があります。新しい値が入ります。ホストのbin/restart-datalake.sh がその仕事をします。
  • compose が記さない名前は、いくらサイドカーに書いても**コンテナに届きません。**どの名前が届くかはcompose/docker-compose.ymlx-pp-secrets アンカーとplantpulse-datalake サービスのenvironment: ブロックが決めます。変数 リファレンスに«届く名前»だけ集めておきました。

pd doctor をコンテナ内で打つとサイドカー行が«ファイルなし»ではなく、そもそも出ず、代わりにall required secrets set 行が実測です — これは正常です。

テンプレート一覧 — 何がどこへレンダリングされるか

ホスト/etc/kopens/conf/ のテンプレート 33個(トップレベル 23 + cluster/ 10)が以下の位置に行きます。対応表の正本はコンテナ内plantpulse-datalake-cli/config/render.map であり、pd config list がこのノードのモードに対応する行を打ちます。

テンプレートレンダリング位置 (PP_HOME 基準)MASTERWORKER
valkey.confplantpulse-storage/cache/valkey/conf/valkey.conf○ (cluster/)
postgresql.conf · pg_hba.confplantpulse-storage/db/postgres/conf/○ (cluster/)
cassandra.yaml · jvm-server.optionsplantpulse-storage/db/cassandra/conf/○ (cluster/)
spark-env.sh · spark-defaults.conf · metrics.propertiesplantpulse-analytics/spark/conf/
hive-site.xml · hive-auth.propertiesplantpulse-analytics/spark/conf/○ (cluster/)
hive-site.xmlplantpulse-analytics/hive/conf/hive-site.xml
kyuubi-defaults.confplantpulse-analytics/kyuubi/conf/
gravitino-iceberg-rest-server.confplantpulse-analytics/gravitino/conf/
kafka.properties · kafka-jaas.confplantpulse-messaging/kafka/config/kafka.properties · jaas.conf
hivemq.xml · plantpulse-mq-auth.propertiesplantpulse-messaging/mqtt/conf/config.xml · auth.properties
plantpulse-timeseries-engine.confplantpulse-timeseries/engine/conf/ (二つの名前で)
plantpulse-datalake-admin-api.propertiesplantpulse-datalake-admin-api/config/○ (cluster/)
workflow.yaml · application.yamlplantpulse-workflow/temporal/config/ · kestra/config/
plantpulse-cep.propertiesplantpulse-cep/config/
plantpulse-jdbc.properties · plantpulse-data-gateway.propertiesplantpulse-data-gateway/config/

cluster/ マークは WORKER ノードが/etc/kopens/conf/cluster/ 以下の異なるテンプレートを使うという意味です。たとえば MASTER のvalkey.conf.template にはreplicaof がなく、cluster/valkey.conf.template にはreplicaof ${PP_MASTER_IP} ${PP_REDIS_PORT} があります。

テンプレート構文

三つだけです。

構文意味
${PP_VAR}値がなければレンダリング全体が失敗します(exit 4)。空の値で埋めて進みません
${PP_VAR:기본값} · ${PP_VAR:-기본값}値がなければ既定値

シークレットにはインライン既定値を持てません。旧レンダラーが空の値で埋めて進んだパスワードが空文字列である Cassandra が出た過去があるので、今は欠けた名前を全部列挙して止まります。

レンダリングされない設定 — 管理コンソール アカウント

管理コンソールのログイン アカウントはどのテンプレートにも入りません。admin-api プロセスが環境変数から直接読みます。ディスクにパスワード コピーをもう一つ作らないためです。

変数どこから来るか既定値
PP_DATALAKE_ADMIN_USERdefaults.envadmin
PP_DATALAKE_ADMIN_PASSWORDサイドカー2026-09-05 以降インストール本は Web コンソール管理者と同じ開発用既定値 → 初期パスワードを変更する。それ以前のインストール本は空でコンソールが切れています
PP_DATALAKE_ADMIN_API_KEYサイドカーなし — 空ならキー認証だけ切れてブラウザ ログインはそのまま

旧ガイダンスと異なる点

旧ドキュメント
configure.sh が設定を生成するpd config render (そしてpd start が毎回)
/etc/kopens/confplantpulse-startup/template としてマウントされるplantpulse-datalake-cli/config/templates としてマウントされます(2026-09-03)。旧位置は何も読まないコピーなので運用者編集がレンダリングに届きませんでした
コンテナ内env.sh · env-reset.shなくなりました。値はホストが決めて compose が渡します
PP_OPTIONS でコンポーネントを切る変数名はPD_OPTIONS に変わり、現在 compose スタックはこの値をコンテナに渡しませんFAQ
PP_TIER (FULL / DATALAKE / APP)2026-09-02 に削除されました。すべてのボックスはフル インストールです

関連ドキュメント