五、安装验收
1. 查看版本和服务状态
cmp-ctl version
cmp-ctl status
cmp-ctl plugIn
整包部署后,单节点应看到基础设施及预置服务插件运行;HA 环境中 node1、node2 应看到基础设施和业务插件,node3 仅运行 Redis、Redis Sentinel、RabbitMQ 等仲裁组件。
检查异常容器:
docker ps -a --filter status=exited
docker ps --filter health=unhealthy
2. 执行巡检
cmp-ctl inspection
单节点巡检检查本机系统、网络、磁盘、MariaDB、Redis、RabbitMQ、Caddy 和核心服务。
HA 安装会将 inspection.sh 自动切换为 HA 巡检入口,cmp-ctl inspection 会汇总三个节点的状态。定时巡检默认每 3 分钟执行一次。
检查定时任务:
crontab -l
3. 检查页面和前端服务
curl -I http://127.0.0.1:8100/
curl -fsS http://127.0.0.1:8210/healthz
docker ps --filter name=app-frontend
浏览器登录后若页面白屏,重点检查:
- app-frontend 是否运行且健康;
- Caddy 是否将默认路由代理到
127.0.0.1:8210; - 浏览器开发者工具中静态资源是否返回 200;
- 前端路由是否被外部代理错误截断。
4. HA 专项检查
VIP
ip addr | grep '<VIP>'
curl -I http://<VIP>:8100/
VIP 正常情况下位于 node1,node1 故障时应迁移到 node2。
MariaDB 双向复制
在 node1、node2 分别执行:
source ${CMP_INSTALL_ROOT}config
docker exec mariadb mariadb -uroot -p"${MysqlPassword}" -e "SHOW SLAVE STATUS\G"
重点确认:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0 或较小值
Last_IO_Error: 空
Last_SQL_Error: 空
Redis 与 Sentinel
三节点分别执行:
source ${CMP_INSTALL_ROOT}config
docker exec redis redis-cli -a "${RedisPassword}" INFO replication
docker exec redis-sentinel redis-cli -p 16379 SENTINEL master mymaster
应只有一个 Redis 主节点,其他节点为副本节点;三个 Sentinel 识别的主节点地址应一致。命令原始输出中的 master、slave 是 Redis 的协议字段名称。
RabbitMQ 集群
docker exec rabbitmq rabbitmqctl cluster_status
三台机器均应看到:
rabbit@node1
rabbit@node2
rabbit@node3
5. 初次登录检查
初次登录后至少完成:
- 修改管理员默认密码;
- 导入并验证许可证;
- 检查产品名称和语言;
- 记录安装版本、安装路径、节点 IP、VIP 和校验值。
