跳到主要内容

启动服务与集群校验

启动服务与集群校验​

启动 etcd 与 Clustermgr 服务​

一键安装脚本完成配置后,etcd 与 Clustermgr 服务并不会自动启动,需要手工启动。三台节点都要执行:

systemctl start etcd

systemctl start clustermgr

如需开机自启:

systemctl enable etcd

systemctl enable clustermgr

演示中先在 etcd 未启动的情况下执行了 clumgrctl list,实际报错输出如下:

[halo@node1 ~]$ clumgrctl list
2026-06-30 11:21:32.174 - ERROR - Failed to get list of machines from http://192.168.221.136:2379/v3beta: MaxRetryError("HTTPConnectionPool(host='192.168.221.136', port=2379): Max retries exceeded with url: /v3beta/members?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x153dc05a970>: Failed to establish a new connection: [Errno 111] Connection refused'))")
2026-06-30 11:21:32.176 - ERROR - Failed to get list of machines from http://192.168.221.138:2379/v3beta: MaxRetryError(...)
2026-06-30 11:21:32.177 - ERROR - Failed to get list of machines from http://192.168.221.137:2379/v3beta: MaxRetryError(...)
^C
Aborted!
[halo@node1 ~]$ exit
logout

注意: 若先执行 clumgrctl list 查询集群而 etcd 尚未启动,会报上述 Connection refused(2379 端口未监听)错误,此为正常现象,启动 etcd 后即可恢复。

随后在 root 用户下启动两个服务,实际终端输出如下:

[root@node1 product]# systemctl start etcd
[root@node1 product]# systemctl start clustermgr
[root@node1 product]# clumgrctl list
-bash: clumgrctl: command not found
[root@node1 product]#

注意: root 用户下执行 clumgrctl 会报 command not found,因为 clumgrctl 所在路径配置在 halo 用户 的环境变量中,需先切换用户。

校验集群状态​

切换到 halo 用户下,使用 clumgrctl list 查看集群状态:

su - halo

clumgrctl list

正常输出如下,三节点集群建立成功:

[halo@node1 ~]$ clumgrctl list
+ Cluster: halo-cluster (7657820793458699518) ------+----------+----------+------+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+--------+----------------------+---------+-----------+-----+-----------+
| node1 | 192.168.221.136:1921 | Leader | running | 1 | |
| node2 | 192.168.221.137:1921 | Replica | streaming | 1 | 0 |
| node3 | 192.168.221.138:1921 | Replica | streaming | 1 | 0 |
+--------+----------------------+---------+-----------+-----+-----------+
[halo@node1 ~]$

说明: 首次部署完成时,部分版本输出中还会多出 Pending restart / Pending restart reason 两列(如提示 cluster_name 变更待重启),属正常现象;重启 clustermgr 服务后即恢复为上表样式。

集群状态字段说明:

字段含义
Member节点名(node1/node2/node3)
Host节点 IP 与数据库端口
Role角色(Leader 主库 / Replica 备库)
State状态(running 运行中 / streaming 同步中)
TL时间线(Timeline),主备一致表示数据同步
Lag in MB同步延迟(MB),备库为 0 表示已同步

至此,Halo 一主两备高可用集群部署完成,应用可通过 VIP(192.168.221.140)统一访问集群。