启动 (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
执行顺序:
| 步骤 | 组件 | 确认要点 |
|---|---|---|
| 1 | Docker 守护进程(未运行则启动 —— 保留现有容器) | docker ps |
| 2 | Redis(cache,端口 6379) | nc -z 127.0.0.1 6379 |
| 3 | HiveMQ(MQTT,1883) | nc -z 127.0.0.1 1883 |
| 4 | Cassandra(9042) | $PE_HOME/bin/node-info.sh |
| 5 | timeseries-engine(7800) | nc -z 127.0.0.1 7800 |
| 6 | timeseries-dashboard / Grafana(3000) | nc -z 127.0.0.1 3000 |
| 7 | Tomcat(服务器 —— 80/443) | curl -ks https://127.0.0.1/api/v1/system/ready |
| 8 | Node-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 ... refused | Tomcat 刚启动后 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. 延伸阅读
- 停止:停止 (
stop.sh) - 快速重启:重启 (
restart.sh) - 场景 —— 停电 / OS 重启后的处理步骤:运维场景