数据湖概述
数据湖(DataLake) 是 PlantPulse 平台的基础设施层。数据库、消息代理、分析引擎、时序引擎、工作流引擎等所有«数据存储和流转»相关的组件都在这里,其上运行着 Web 控制台、批处理、数据仓库等应用程序。
本节中最常访问的页面
一个容器,八个服务
数据湖在主机上以一个 plantpulse-datalake 容器的形式运行。容器内的八个服务以固定顺序启动。顺序的权威定义在容器内的 plantpulse-datalake-cli/services/order.txt 这一个文件中。
storage → analytics → messaging → timeseries → cep → workflow → data-gateway → admin-api
| 顺序 | 服务 | 内含组件 | 端口 | 作用 |
|---|---|---|---|---|
| 1 | storage | Valkey · PostgreSQL · Aster TSDB · RustFS | 6379 · 5432 · 9042 · 9000 | 缓存、元数据、时序、对象存储 |
| 2 | analytics | Spark · Hive · Gravitino · Kyuubi · Flink(+ SQL Gateway) | 7077/4440 · 9083 · 19001 · 10000 · 8181 · 8083 | 分布式分析与 SQL 网关 |
| 3 | messaging | Kafka · HiveMQ(MQTT) | 9092 · 1883 | 现场数据采集与模块间事件传递 |
| 4 | timeseries | 时序引擎 · PlantPulse Dashboard | 7800 · 3000 | 指标存储、查询、仪表盘(传感器值位于 storage 的 9042) |
| 5 | cep | CEP 服务器 | 7400 | 复合事件处理 — EQL 注册、验证、控制台,以及引擎 |
| 6 | workflow | Temporal · Kestra | 7233/8233 · 8380 | 长时间任务与数据流水线 |
| 7 | data-gateway | 数据网关 | 5500 | 外部系统数据查询入口(含 SQL 控制台) |
| 8 | admin-api | 管理控制台后端 | 4949 · 4950 | 该节点的运维控制台与健康检查 API |
storage 与 analytics 是守门人。这两个未启动时,后面的服务连尝试都不会进行。其余服务未启动时只会留下警告并继续运行。
在哪里做什么
处理数据湖的操作位置有三个。只要弄清楚在哪个位置做什么,本节其余内容就只是参考资料。
| 位置 | 命令 · 界面 | 作用 |
|---|---|---|
主机 (/opt/kopens/plantpulse-platform-docker/bin/) | up.sh down.sh restart.sh restart-datalake.sh status.sh logs.sh shell.sh passwd.sh | 开关容器、修改密码、修改配置文件。运维人员的首个入口 |
容器内部 (docker exec plantpulse-datalake pd …) | pd status pd doctor pd logs pd config diff pd restart <서비스> pd backup | 重启单个服务、检查配置是否正确渲染、执行备份 |
浏览器 (https://<server-ip>:4950/) | 管理控制台 | 在界面上查看状态、指标、日志、诊断、备份、配置差异。也可执行命令界面中允许的 pd 动词操作 |
只有主机才是修改值的位置
容器内部的配置文件(/opt/kopens/plantpulse-platform/<module>/conf/…)全部都是生成物。在那里修改的内容会在下次启动时消失。值的权威来源是主机上 /etc/kopens/ 下的文件集合,详情见配置文件在哪里。
最初的 5 分钟 — 确认是否正常
以下命令全部为只读操作。不会改动任何内容,随时可以执行。
# 1. 호스트에서 — 컨테이너와 헬스 요약. 종료 코드 0 = 정상, 2 = 비정상
cd /opt/kopens/plantpulse-platform-docker/bin
./status.sh
# 2. 컨테이너 안 — 서비스별 포트 표. 마지막 줄 "0 STOPPED" 면 정상
docker exec plantpulse-datalake pd status
# 3. 컨테이너 안 — 환경이 조용히 어긋난 곳은 없나. 마지막 줄 "FAIL 0" 이면 정상
docker exec plantpulse-datalake pd doctor
# 4. 브라우저 — 관리 콘솔
# https://<server-ip>:4950/?lang=ko
在 pd status 中,启动后最初几十秒内看到一个 STOPPED 是正常现象。这是因为 analytics 中的 Kyuubi 最后启动(实测 54 秒)。请在 1 分钟后再次查看。
本节结构
| 页面 | 何时查看 |
|---|---|
| 路径地图 | 想知道«那个文件在哪»时 — 主机、容器、卷、日志 |
| 环境配置 | 配置文件位置、修改流程、变量参考 |
| 凭证 | 服务密码、API 密钥轮换、Web 界面登录账户 |
| 管理控制台 | 浏览器控制台的接入、登录、界面结构 |
pd CLI | 容器内全部运维命令 |
| 运维 | 启动、停止、重启,日志、健康检查,备份、恢复 |
| CEP | 用 EQL 编写并运行实时规则 — 语言、事件类型、运维、限制 |
| 数据网关 | 四种语言统一为一个 REST — API、控制与限制 |
| 组件 | 存储、消息、分析、时序、CEP、工作流、网关各自的详细说明 |
| FAQ | 常见问题与解答 |