手工安装
本节介绍以传统手工方式在单台服务器上部署 Halo 数据库的完整步骤,适合需要自定义安装细节(字符集、路径、参数等)或对安装过程需要逐项掌控的场景。手工安装与一键安装最终产物一致;安装前的操作系统准备(依赖包、内核参数、防火墙等)参见环境要求。
适用场景
本节面向需要 逐条手工命令 部署 Halo 单实例数据库的用户,覆盖安装、配置、初始化的完整手工部署流程。
相较于一键安装中由 halo-1.0.16_installer 脚本全自动串联的部署方式,手工部署将创建用户、系统配置、初始化数据库、配置参数、启动数据库等步骤拆解为可逐条执行的命令,便于:
- 完全掌控每一步部署细节,便于定制与排查;
- 在精简操作系统(如最小化安装、容器环境)上自行补齐依赖;
- 在部署前对内核参数、资源限制、目录规划等逐项核对。
说明: 手工部署与一键脚本部署的最终产物一致:一个可用的 Halo 单机数据库实例。仅在过程上,一键脚本全自动执行,手工部署则逐步执行。
前置条件
在执行手工部署前,请确认以下条件已满足:
- 已获取 Halo 安装包
halo-1.0.16.x86_64.build260811.tar.gz及授权文件license.lic,并上传到服务器。 - 服务器具备 root 权限用于系统层配置(建用户、内核参数、资源限制)。
- 安装包与授权文件已就位于服务器(本文示例路径为
/install/,实际部署时可放置在 root 用户家目录)。
约定: $HALO_HOME 代表 Halo 数据库程序目录(默认 /u01/app/halo/product/dbms/16),$PGDATA 代表数据目录(默认 /data/halo)。本文默认安装路径为 /u01/app/halo,数据目录为 /data/halo。
手工部署步骤总览
手工部署可拆解为以下编号步骤,对照本章 2.2.1~2.2.5 各节:
| 步骤 | 操作 |
|---|---|
| 1 | 上传安装包与授权文件 |
| 2 | 解压安装包到 /u01/app/halo |
| 3 | 安装缺失依赖(精简系统需要) |
| 4 | 创建 halo 用户与组 |
| 5 | 配置进程目录 /var/run/halo |
| 6 | 配置内核参数 kernel.sem |
| 7 | 配置资源限制 limits.conf |
| 8 | 关闭透明大页 THP |
| 9 | 创建数据目录与归档目录 |
| 10 | 配置 halo 用户环境变量 |
| 11 | 拷贝授权文件 license.lic |
| 12 | 初始化数据库 initdb |
| 13 | 配置 postgresql.conf / pg_hba.conf |
| 14 | 启动数据库实例 |
| 15 | 安装验证 |
其中仅"系统配置(步骤 5~8)"与"参数文件(步骤 13)"涉及较多手工编辑,其余步骤均为单条命令。一键安装脚本(见一键安装)会自动完成上述全部步骤;使用一键脚本时无需执行本文。