跳到主要内容

启动 (start.sh / start-daemon.sh)

Legacy native 页面

本页仅适用于 2026.05 之前的 native 部署一体机。容器模式 (2026.05+) 一体机请使用 systemctl start plantpulse-edge.service —— entrypoint 会调用内部的 start.sh。 参见容器模式运维指南

1. start.sh —— 启动完整技术栈

$PE_HOME/bin/start.sh

执行顺序:

步骤组件确认要点
1Docker 守护进程(未运行则启动 —— 保留现有容器docker ps
2Redis(cache,端口 6379)nc -z 127.0.0.1 6379
3HiveMQ(MQTT,1883)nc -z 127.0.0.1 1883
4Cassandra(9042)$PE_HOME/bin/node-info.sh
5timeseries-engine(7800)nc -z 127.0.0.1 7800
6timeseries-dashboard / Grafana(3000)nc -z 127.0.0.1 3000
7Tomcat(服务器 —— 80/443)curl -ks https://127.0.0.1/api/v1/system/ready
8Node-RED(/ui/flow,1880)nc -z 127.0.0.1 1880
9(后台)Cassandra nodetool 清理

正常输出示例(摘要):

--------------------------------------------------------------------
PLANTPULSE EDGE START ...
--------------------------------------------------------------------
[1] CACHE START ... redis ready (1s)
[2] MQTT START ... mqtt ready (13s)
[3] DATABASE START ... cassandra ready (23s)
[4] TIMESERIES ENGINE START ... timeseries-engine ready (10s)
[5] TIMESERIES DASHBOARD START ... grafana ready (1s)
[6] SERVER START ... tomcat ready (10s)
[7] FLOW TOOL START ... [NODE-RED] ready (port 1880)
--------------------------------------------------------------------
START COMPLETED [108 SEC]
--------------------------------------------------------------------

耗时约 90–120 秒。最后打印出 START COMPLETED 即为正常。

选项说明
(无)按上述顺序全部启动
环境变量 PE_SKIP_DOCKER=1跳过 Docker 步骤(已运行时可减轻负担)

2. start-daemon.sh —— 后台启动

$PE_HOME/bin/start-daemon.sh

nohup ... & 方式在后台执行 start.sh。即使 ssh 会话断开,启动过程仍会继续。可在 OS 启动时的 systemd unit / cron @reboot 等自动化中调用。


3. 常见陷阱

现象原因 / 解决
停在 [4] DB START ...Cassandra 正在回收 commitlog —— 通常需等待 30 秒以上。日志(db/logs/system.log)中出现 Listening for thrift clients 即正常
[7] SERVER START 之后出现 curl ... refusedTomcat 刚启动后 1–2 秒内未监听 —— 稍等即可。若仍无响应,请在 catalina.out 中搜索 SEVERE
Node-RED 未启动可能是 /data1/pp-data/node-red/.config.users.json 损坏。检查日志(node/log/node-red.log)中的 Error loading flows
所有 Docker 容器被 reset(旧版本)start.sh 执行了 systemctl restart docker。当前版本为 已运行则跳过 —— 若环境仍会 reset,请使用 PE_SKIP_DOCKER=1

4. 验证

$PE_HOME/bin/ps.sh # 모든 컴포넌트 살아있는지
curl -s http://127.0.0.1/api/v1/edge | jq # 엣지 식별/버전
curl -s http://127.0.0.1/ui/opcua/tree | jq '.data.tree | length' # 사이트/태그 정상

5. 延伸阅读