安装速查与常见问题
默认路径与端口
| 项目 | 默认值 | 说明 |
|---|---|---|
| 安装目录 | /u01/app/halo | $HALO_HOME 的上级,一键脚本默认安装路径 |
| HALO_HOME | /u01/app/halo/product/dbms/16 | Halo 数据库程序目录 |
| 数据目录 | /data/halo | $PGDATA |
| 归档目录 | /data/halo/archivedir | 需 halo 用户可读写 |
| 数据库端口 | 1921 | 默认端口(兼容模式另见 1521/3306/5432) |
| etcd 端口 | 2379 / 2380 | client / peer |
| clustermgr 端口 | 8008 | 集群管理 REST 端口 |
| 业务连续性组件目录 | /u01/app/halo/product/shield | 含 etcd、clustermgr |
| clumgrctl 路径 | /u01/app/halo/product/shield/clustermgr/bin/clumgrctl | 需在 halo 用户下执行 |
一键安装交互项速查(单机)
| 阶段 | 交互项 | 常用取值 |
|---|---|---|
| 脚本启动 | 语言 (cn/en) | cn 或 en |
| 脚本启动 | 安装类型 (halodb/etcd/clustermgr/all) | 单机选 halodb |
| 脚本启动 | 安装路径 | 回车用默认 /u01/app/halo |
| 数据库角色 | master / slave | 单机选 m |
| 用户与目录 | halo 用户 / 数据目录 | 回车用默认值 |
| 归档日志 | Configure archive log? (yes/no) | yes(默认路径直接回车) |
| 兼容模式 | all/oracle/mysql/postgresql | 按需,回车跳过 |
一键部署交互项速查(集群)
| 阶段 | 交互项 | 主库 node1 | 备库 node2 / node3 |
|---|---|---|---|
| 脚本启动 | 语言 | cn | cn |
| 脚本启动 | 安装类型 | all | all |
| 脚本启动 | 安装路径 | 默认 | 默认 |
| 数据库角色 | m / s | m | s |
| 主库配置 | 归档日志 | yes | — |
| 主库配置 | 兼容模式 | all(按需) | — |
| 流复制 | 主库 IP | — | 192.168.221.136 |
| 流复制 | 复制用户 / 端口 | — | replica / 1921 |
| 流复制 | 复制槽名 | — | 各备库唯一(node2、node3) |
| etcd 配置 | 集群 IP 列表 | 三节点 IP,三处一致 | 三节点 IP,三处一致 |
| Clustermgr | 集群 IP 列表 | 三节点 IP | 三节点 IP |
| Clustermgr | 节点名 | node1 | node2 / node3 |
| Clustermgr | VIP / 网卡 | 192.168.221.140 / ens33 | 同左,三节点一致 |
常见问题
Q1:root 用户下执行 clumgrctl 报 command not found?
A:clumgrctl 的路径配置在 halo 用户环境变量中。请 su - halo 切换到 halo 用户后再执行。
Q2:首次执行 clumgrctl list 报 Connection refused?
A:etcd 服务未启动。先在所有节点执行 systemctl start etcd,再 systemctl start clustermgr。
Q3:备库执行流复制时报复制槽已存在?
A:脚本会先尝试删除同名复制槽后重建(首次提示 replication slot does not exist 属正常)。若仍失败,确保各备库复制槽名唯一。
Q4:集群各节点数据目录与归档目录的要求?
A:所有节点的数据目录(默认 /data/halo)与归档目录路径必须完全一致,否则流复制与故障切换异常。
Q5:归档目录配置后持续报权限错误?
A:归档目录必须 halo 用户可读写,执行 chown -R halo:halo <归档目录> 后重启数据库。
Q6:pg_basebackup 报数据目录非空?
A:备库执行基础备份前,数据目录必须为空。一键脚本会自动处理;手工部署时需先清空备库数据目录。