一键部署
本节介绍使用 Halo 1.0.16 一键安装脚本 halo-1.0.16_installer 搭建一主两备业务连续性(Halo Shield)高可用集群的完整流程。脚本将"数据库安装 + 流复制搭建 + etcd 配置 + Clustermgr 配置 + 服务注册"全自动串联,仅需少量交互输入即可完成部署。
适用场景
本节面向需要快速搭建 Halo 高可用集群(一主两备) 的用户。相较于单机手工安装与集群手工部署中逐条手工执行的步骤,Halo 1.0.16 提供 halo-1.0.16_installer 一键安装脚本,将"数据库安装 + 流复制搭建 + etcd 配置 + Clustermgr 配置 + 服务注册"全自动串联,仅需少量交互输入即可完成整个高可用集群的部署。
说明: 一键部署是对传统手工部署方式的封装与自动化,二者最终产物一致(Halo 数据库 + etcd + Clustermgr 组成的业务连续性高可用架构)。对手动部署原理不熟悉的用户,建议先阅读集群手工部署,便于理解一键脚本各交互项的含义。
高可用架构说明
业务连续性高可用方案由 etcd、Clustermgr、Halo 三部分组件组成:
- etcd:分布式键值数据库,至少三台节点且为奇数,用于 leader 选举,避免脑裂。
- Clustermgr:针对 Halo 数据库进行流复制创建、管理、监控和自动故障转移,并通过 etcd 集群存储、检测节点状态。当主节点故障时,Clustermgr 自动切换并重新绑定 VIP 到新主节点,最大程度降低对应用系统的影响。
- Halo:数据库本体,一主两备的物理流复制架构,实现 RPO=0。
本次演示搭建的是 一主两备(1 primary + 2 standby)的高可用集群:
| 节点名 | IP 地址 | 角色 | 说明 |
|---|---|---|---|
| node1 | 192.168.221.136 | 主库(Leader) | 初始主节点 |
| node2 | 192.168.221.137 | 备库(Replica) | 同步备节点 |
| node3 | 192.168.221.138 | 备库(Replica) | 同步备节点 |
| VIP | 192.168.221.140 | 虚拟 IP | 应用统一访问入口 |
前置条件
在执行一键部署前,请确认以下条件已满足:
- 已获取 Halo 安装包
halo-1.0.16.x86_64.build260811.tar.gz及授权文件license.lic,并上传到三台服务器的 root 用户家目录。 - 三台服务器网络互通,可通过 SSH 登录。
- 已完成操作系统层面的依赖安装、内核参数与防火墙配置(参考环境要求)。本次演示服务器已提前完成上述环境准备,并已创建
halo用户与用户组。 - 集群中所有节点的 数据目录路径、归档目录路径必须保持一致(脚本会在交互时提示)。
约定: $HALO_HOME 代表 Halo 数据库安装目录(默认 /u01/app/halo/product/dbms/16),$PGDATA 代表数据目录(默认 /data/halo)。一键脚本默认安装路径为 /u01/app/halo。