文章目录
文档用途
1、文档用于指导HGHAC集群版本升级。 2、此文档以V4.2.3升级到V4.2.7.4为示例。
详细信息
1、升级前检查etcd和hghac集群状态
1.查看etcd集群,Highgo@123为集群密码
[highgo@localhost ~]$ etcdctl --user=root:Highgo@123 endpoint status --write-out=table
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| http://192.168.80.142:2379 | 2f477b081f877ca | 3.5.9 | 20 kB | true | false | 2 | 25 | 25 | |
| http://192.168.80.143:2379 | e16a54f0b1466abc | 3.5.9 | 20 kB | false | false | 2 | 26 | 26 | |
| http://192.168.80.144:2379 | f5c09494b0f85dc0 | 3.5.9 | 20 kB | false | false | 2 | 27 | 27 | |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
[highgo@localhost ~]$ etcdctl --user=root:Highgo@123 endpoint health --write-out=table
+----------------------------+--------+------------+-------+
| ENDPOINT | HEALTH | TOOK | ERROR |
+----------------------------+--------+------------+-------+
| http://192.168.80.142:2379 | true | 6.279926ms | |
| http://192.168.80.144:2379 | true | 5.718948ms | |
| http://192.168.80.143:2379 | true | 2.640563ms | |
+----------------------------+--------+------------+-------+
#2.查看hghac集群
[highgo@localhost ~]$ hghactl list
+ Cluster: highgo-ee-cluster --+--------------+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+--------+---------------------+--------------+-----------+----+-----------+
| ee_01 | 192.168.80.142:5866 | Leader | running | 2 | |
| ee_02 | 192.168.80.143:5866 | Replica | streaming | 2 | 0 |
| ee_03 | 192.168.80.144:5866 | Sync Standby | streaming | 2 | 0 |
+--------+---------------------+--------------+-----------+----+-----------+
2、暂停集群
[highgo@localhost ~]$ hghactl pause
Success: cluster management is paused
#暂停集群管理即进入维护模式,hghac仍会更新DCS中的集群状态信息,允许手动主备切换,但不会自动启动、停止或重启数据库,也不会触发自动故障切换,从而防止升级过程中发生不必要的自动故障转移。
3、停掉备节点服务
systemctl stop etcd
systemctl stop hghac
systemctl stop vip-manager
#由于集群处于维护状态,停止hghac服务不会停止数据库进程,数据库服务保持原状态。
4、备份可执行文件
#1.hghac主程序目录
mv /usr/local/hghac/hac/hghac /usr/local/hghac/hac/hghac.bak
#2.hghactl客户端目录
mv /usr/local/hghac/hac/hghactl /usr/local/hghac/hac/hghactl.bak
#3.etcd二进制
mv /usr/local/hghac/etcd/etcd /usr/local/hghac/etcd/etcd.bak
mv /usr/local/hghac/etcd/etcdctl /usr/local/hghac/etcd/etcdctl.bak
#4.vip-manager二进制
mv /usr/local/hghac/vip-manager/vip-manager /usr/local/hghac/vip-manager/vip-manager.bak
5、解压新版本
tar -xf /data/hgupload/hghac-4.2.7.4-2-v9-5841-6474b12-20260825.x86_64.tar.gz -C /usr/local
chown highgo. /usr/local/hghac-4.2.7.4 -R
ll /usr/local/hghac-4.2.7.4/
6、新版本配置文件复制到对应目录
#1.hghac主程序目录
cp -rp /usr/local/hghac-4.2.7.4/hac/hghac /usr/local/hghac/hac
#2.hghactl客户端目录
cp -rp /usr/local/hghac-4.2.7.4/hac/hghactl /usr/local/hghac/hac
#3.etcd二进制
cp -rp /usr/local/hghac-4.2.7.4/etcd/etcd /usr/local/hghac/etcd
cp -rp /usr/local/hghac-4.2.7.4/etcd/etcdctl /usr/local/hghac/etcd
#4.vip-manager二进制
cp -rp /usr/local/hghac-4.2.7.4/vip-manager/vip-manager /usr/local/hghac/vip-manager
7、查看备份文件和新文件
ll /usr/local/hghac/hac/hghac*
ll /usr/local/hghac/hac/hghactl*
ll /usr/local/hghac/etcd/etcd*
ll /usr/local/hghac/etcd/etcdctl*
ll /usr/local/hghac/vip-manager/vip-manager*
8、启动备节点各服务
#1.启动etcd服务,并查看服务状态
systemctl start etcd
systemctl status etcd
#2.查看etcd集群
etcdctl --user=root:Highgo@123 endpoint status --write-out=table
etcdctl --user=root:Highgo@123 endpoint health --write-out=table
#3.启动hghac服务,并查看服务状态
systemctl start hghac
systemctl status hghac
#4.查看hghac集群
hghactl list
#5.启动vip-manger服务,并查看服务状态
systemctl start vip-manager
systemctl status vip-manager
9、升级主节点
#1.主备切换
hghactl switchover
#2.重复备节点步骤进行升级
10、检查集群状态
#1.查看etcd集群,Highgo@123为集群密码
[highgo@localhost ~]$ etcdctl --user=root:Highgo@123 endpoint status --write-out=table
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| http://192.168.80.142:2379 | 2f477b081f877ca | 3.5.9 | 20 kB | true | false | 2 | 25 | 25 | |
| http://192.168.80.143:2379 | e16a54f0b1466abc | 3.5.9 | 20 kB | false | false | 2 | 26 | 26 | |
| http://192.168.80.144:2379 | f5c09494b0f85dc0 | 3.5.9 | 20 kB | false | false | 2 | 27 | 27 | |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
[highgo@localhost ~]$ etcdctl --user=root:Highgo@123 endpoint health --write-out=table
+----------------------------+--------+------------+-------+
| ENDPOINT | HEALTH | TOOK | ERROR |
+----------------------------+--------+------------+-------+
| http://192.168.80.142:2379 | true | 6.279926ms | |
| http://192.168.80.144:2379 | true | 5.718948ms | |
| http://192.168.80.143:2379 | true | 2.640563ms | |
+----------------------------+--------+------------+-------+
#2.查看hghac集群状态
[highgo@localhost ~]$ hghactl list
+ Cluster: highgo-ee-cluster (7682598096742189505) --+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+--------+---------------------+---------+-----------+----+-------------+-----+------------+-----+
| ee_01 | 192.168.80.142:5866 | Replica | streaming | 11 | 0/4020208 | 0 | 0/4020208 | 0 |
| ee_02 | 192.168.80.143:5866 | Leader | running | 11 | | | | |
| ee_03 | 192.168.80.144:5866 | Replica | streaming | 11 | 0/4020208 | 0 | 0/4020208 | 0 |
+--------+---------------------+---------+-----------+----+-------------+-----+------------+-----+