路径地图——什么在哪里
数据湖的文件分布在主机和容器内两个世界中。搞不清是哪边的路径,往往是事故的根源。本页是一张一页式地图,回答“那个文件在哪里”。
只需记住三行
- 要修改的文件位于主机的
/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/ | 上次部署镜像实际装载的模板默认值(作为三方比较基准)。以只读方式挂载到容器 | 不要改动——每次部署由工具更新 | — |
/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/security | TLS 材料。由 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.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 |