跳到主要内容

数据库管理

概述​

本页介绍已安装的 PlantPulse 平台所使用的数据存储的配置、连接方法、状态检查、基本调优策略。

平台内置并按用途运行 4 种数据存储。

存储用途默认端口备注
Aster TSDB时序 / 大数据量数据(标签点、事件)9042 (CQL)键空间 pp。平台的单一大型数据库引擎
PostgreSQL元数据存储(主数据 / 配置数据)5432数据库 pp,模式 pp
Valkey (Redis 兼容)缓存 / 会话 / 实时状态6379可使用 redis-cli 连接
RustFS对象存储 (S3 兼容)9000 (S3) / 9001 (控制台)存储文件 / 大数据量产出物

此外,还有分析层(Spark / Kyuubi)使用的 Hive Metastore + Iceberg 表格式,由于由平台内部管理,因此无需额外的运维操作。

注意:Aster TSDB 的 7000(集群 gossip)、7199(JMX) 端口为内部通信用。请勿暴露到外部。

连接方法​

以下命令均以 数据湖容器内部 为基准。四个存储均在 plantpulse-datalake 的一个容器内运行,因此不带参数打开 shell 即可直接进入该容器。

cd /opt/kopens/plantpulse-platform-docker/bin
./shell.sh

连接账号和密码通过环境变量(PP_CASSANDRA_USER/PASSWORD, PP_PG_USER/PASSWORD, PP_REDIS_PASSWORD 等)管理。

项目位置
实际生效的值主机的秘密边车 /etc/kopens/plantpulse-platform.env (权限 0600)
更改值的方法bin/passwd.sh — 直接修改文件不会生效 → 密码轮换

路径确认 — 秘密边车的正本为 /etc/kopens/plantpulse-platform.env 一个(权限 0600)。旧安装中 /opt/kopens/ 下可能留有同名文件,但不读取,安装脚本会将其恢复为正本 → 环境变量参考

Aster TSDB (cqlsh)​

cd /opt/kopens/plantpulse-platform/plantpulse-storage/db/cassandra/bin
./cqlsh -u <PP_CASSANDRA_USER> 127.0.0.1 9042
-- 키스페이스 / 테이블 확인
DESCRIBE KEYSPACE pp;
SELECT table_name FROM system_schema.tables WHERE keyspace_name = 'pp';

PostgreSQL (psql)​

使用 PostgreSQL 18,客户端二进制文件位于 /usr/pgsql-18/bin。

/usr/pgsql-18/bin/psql -h 127.0.0.1 -U <PP_PG_USER> -d pp
-- 메타스토어 스키마 확인 (기본 search_path 는 pp 스키마)
\dn
\dt pp.*

Valkey (redis-cli)​

redis-cli -h 127.0.0.1 -p 6379 -a '<PP_REDIS_PASSWORD>' ping

注意:仅用于查询(SELECT / DESCRIBE / ping)用途。数据修改或模式变更请参考 注意事项。

状态检查​

Aster TSDB 节点状态​

pd node 动词包装 nodetool 提供。

cd /opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin
./pd node status

正常状态下,节点显示为 UN(Up / Normal)。如果出现 DN(Down) 节点,需要重启存储或检查日志。

PostgreSQL 状态​

/usr/pgsql-18/bin/pg_isready -h 127.0.0.1 -p 5432
/usr/pgsql-18/bin/psql -h 127.0.0.1 -U <PP_PG_USER> -d pp -c "SELECT version();"

集成状态仪表盘 / 健康检查 API​

# 포트별 서비스 상태 + CPU / 메모리 / 디스크 요약
cd /opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin
./status.sh

# 헬스 API — cassandra / postgres 컴포넌트 상태 포함
curl -kfsS https://127.0.0.1:4950/api/health | jq

请确认健康检查 API 响应中的 cassandra、postgres 组件是否正常(UP)。

模式 / 数据布局​

项目位置内容
Aster TSDB 键空间pp时序数据表 (tm_*)
PostgreSQL 模式数据库 pp / 模式 pp主数据 / 配置表 (mm_*)
数据文件路径/data1/pp-data挂载为 Docker 卷 pp-data

PostgreSQL 元数据存储模式已在 镜像构建时预先填充,因此安装后无需额外的模式创建工作。连接时 search_path 已设置为 pp 模式,因此只需使用表名即可查询。

所有数据存储在 /data1/pp-data(卷 pp-data) 下,因此即使删除容器或更新镜像,数据也会保留。

调优默认值 (出厂设置)​

Aster TSDB 根据平台工作负载按以下默认值出厂。

项目出厂默认值说明
JVM 堆-Xms16G -Xmx16G初始 / 最大堆相同 (防止动态调整)
GCZGC (Generational)低延迟垃圾收集器
文件缓存file_cache_enabled: false利用 OS 页缓存,取消 off-heap 上限
Direct 内存-XX:MaxDirectMemorySize=6G用于 memtable off-heap + IO 缓冲区

重要 — 配置更改路径:部署在各服务路径下的配置文件(例如 Aster TSDB 的 cassandra.yaml、jvm-server.options)是 plantpulse-datalake-cli/config/templates/ 中模板的 渲染产物。如果直接修改此文件,下一次重启 / 重新配置(configure)时会被模板值覆盖,导致更改丢失。

如需更改调优值,请务必按以下路径操作。

  1. 修改主机 /etc/kopens/conf 中的模板(绑定挂载到容器的 plantpulse-datalake-cli/config/templates)或 bin/env.sh 的 PP_* 变量
  2. 在数据湖容器内执行 pd config render — 重新渲染模板,并部署到各服务路径
  3. 重启相应服务 (例如 pd restart storage)

由于模板是 主机目录,操作员可以在主机上直接编辑,即使重新安装,编辑内容也会保留。

如果需要更改默认值,建议先与技术支持团队协商。

备份概述​

包括数据库在内的所有数据存储在 pp-data 卷中,因此按卷备份是最简单、最安全的方法。

cd /opt/kopens/plantpulse-platform-docker/bin

# 기본 세트 (pp-data · pp-security) 를 한 번에
./backup.sh

# 볼륨 하나만 — <volume-name> [보관일수] [백업경로]
./tools/backup-volume.sh pp-data 7 /data1/pp-backup/docker-volume

在 backup.sh 的默认集合中,pp-backup 是备份的 目的地,因此 pp-temp 对恢复无用而被排除。如有需要,可通过参数指定进行备份。

有关时间点恢复、按数据库单独备份、外部存储同步等详细步骤,请参考 管理员指南 - 备份与恢复 页面。

注意事项​

  • 禁止对运营数据库直接执行 DDL — 请勿直接执行表创建 / 更改 / 删除(CREATE / ALTER / DROP / TRUNCATE)。模式由平台通过版本迁移管理,任意更改可能导致更新失败或数据丢失。
  • 避免直接修改数据 — 主数据(mm_*)请通过管理控制台界面更改。直接 UPDATE 数据库可能导致与缓存 / 集成服务不一致。
  • 禁止使用嵌入式 / 替代数据库 — 不支持将内置 Aster TSDB / PostgreSQL 替换为其他数据库产品或嵌入式数据库的配置。
  • 禁止直接删除数据文件 — 请勿为了释放磁盘空间而直接删除 /data1/pp-data 下的文件。如需清理数据,请联系技术支持团队。
  • 账号 / 端口更改通过环境变量 — 如需更改数据库账号或端口,请采用环境变量(PP_*)覆盖方式,而非直接修改配置文件。

技术支持​

如有数据库运维相关问题,请随时联系我们。

负责人联系方式
技术支持webmaster@kopens.com