跳到主要内容

路径地图——什么在哪里

数据湖的文件分布在主机和容器内两个世界中。搞不清是哪边的路径,往往是事故的根源。本页是一张一页式地图,回答“那个文件在哪里”。

只需记住三行
  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/上次部署镜像实际装载的模板默认值(作为三方比较基准)。以只读方式挂载到容器不要改动——每次部署由工具更新—
/etc/kopens/conf.backup/<시각>/重新植入模板时工具留下的备份仅作参考—
/etc/kopens/ca/盒子间共享的 CA(CA.crt、CA.key)仅在迁移到第二个盒子时第一个盒子 → 下一个盒子
/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操作员要打开的那个文件——所有可写变量及注释。在此处选择行,移到边车或节点文件中(因为是生成物,不直接修改)
compose/platform.node.env.example节点文件的模板框架
请勿直接修改 bin/env.sh

旧指南中有“在 env.sh 中添加 export”的说法。虽然能运行,但由于位于安装树内,更新或重装时易受影响。将相同的值以 VAR=값 形式写入边车或节点文件,则位于安装树之外,可长期保留,且优先级更高 → 值确定的顺序

Docker 卷​

这是主机上的命名卷。用 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 容器生成,数据湖和应用读取

容器内​

进入容器有两种方式:只执行一条命令时用 docker exec,需要执行多条命令时打开 Shell。

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两个代理
plantpulse-timeseries/engine、dashboard时序引擎与 PlantPulse Dashboard
plantpulse-cep/、plantpulse-data-gateway/Tomcat 上的 Web 模块。配置在 config/,日志在 server/logs/
plantpulse-workflow/temporal、kestra两个工作流引擎
plantpulse-datalake-admin-api/管理控制台后端。webapp/ 为画面,logs/pd-events.jsonl 为事件日志
plantpulse-backup/物理备份工具包(bin/backup.sh)。计划在此处之外,位于 datalake 数据库的 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/backupplantpulse-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

相关文档​