本文详细描述Halo数据库的兼容平台及安装过程。
Halo数据库兼容多种CPU平台,能够满足各种不同的需求。
兼容的CPU平台
| CPU 体系 | CPU平台 | 是否兼容 |
| X86 | 兆芯 | 是 |
| 海光 | 是 | |
| AMD | 是 | |
| Intel | 是 | |
| arm | 鲲鹏 | 是 |
| 飞腾 | 是 | |
| MIPS | 龙芯 | 是 |
| Alpha | 申威 | 是 |
Halo数据库兼容多种主流存储操作系统,能够满足各种不同的需求。
兼容的操作系统
| 操作系统 | 是否兼容 |
| 银河麒麟 | 是 |
| 中标麒麟 | 是 |
| 统信 | 是 |
| openEuler | 是 |
| Ubuntu | 是 |
| RHEL/CentOS | 是 |
| FreeBSD | 是 |
Halo数据库需要一些额外的系统包来支持其运行,我们使用yum命令安装:
yum install -y sysstat ftp make cmake gcc uuid uuid-devel bison flex perl perl-devel python-devel readline readline-devel libxml2yum install -y libxml2-devel iotop tcpdump strace gdb systemtap net-tools xdpyinfo libstdc++-devel gcc-c++yum install -y ksh uuid-devel libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-develyum install -y libxcb make smartmontools zlib-devel tcl glibc glibc-devel openssl openssl-devel bc binutilsyum install -y nfs-utils perl-ExtUtils-Embed zstd zstd-devel libcurl libcurl-devel libicul ibicu-devel lz4 lz4-devel
有了这些依赖包,我们开始进入正题!
1、用户和组
group add -g 1000 halouseradd -u 1000 -g halo halo
2、安装目录
安装目录没有特别的要求,通常建议目录路径为:/u01/app/halo。
创建库用户和组:
mkdir -p /u01/app/halochown -R halo:halo /u01/app/halo
3、安装执行
a 解压缩软件包至安装目录
将准备好的数据库软件包上传到系统halo用户下(根据服务器系统选择数据库版本文件)/home/halo 。官网下载链接易景科技 (halodbtech.com)
Login as halo 解压
tar zxf 软件包名称 -C/u01/app/halo/
b 安装License文件至安装目录
将License文件,名称为license.lic拷贝至数据库根目录
/u01/app/halo/product/dbms/13
mv license.lic u01/app/halo/product/dbms/13
c 环境配置,将halo加入程序运行路径
将以下行加入 home/halo/.bash_profile的末尾
vi home/halo/.bash_profileexport HALO_HOME=/u01/app/halo/product/dbms/13export LD_LIBRARY_PATH=$HALO_HOME/libexport PGHOST=/var/run/haloexport PATH=$HALO_HOME/bin:$PATH编辑的脚本跑一遍source home/halo/.bash_profile
安装完成,测试安装是否正确:
pg_ctl -Vpg_ctl (Halo) 13.6
如果正确输出版本号,则说明安装正常。否则,请仔细检查安装步骤。
4、创建数据库进程目录
Halo数据库需要额外的路径来存放临时进程文件。默认路径为:
/var/run/halo。该默认路径安装时默认不存在,需要手工进行创建:
Login as root
mkdir var/run/halochown halo:halo var/run/halo
在/etc/rc.d/rc.local末尾增加以下行
vi etc/rc.d/rc.local/usr/bin/mkdir/var/run/halo/usr/bin/chown halo:halo/var/run/halo
为/etc/rc.d/rc.local赋予执行权限
chmod +x etc/rc.d/rc.local
5、调整内存与信号量参数
Login as root
cat proc/sys/kernel/sem
确保输出的每一项参数大于等于以下典型设置
4096 4194304 32768 1024
如果任意一项不满足,在文件sysctl.conf末尾增加以下行,并调整参数使其满足典型设置
vi /etc/sysctl.confkernel.sem = 40964194304 32768 1024
应用修改
sysctl -p
再次检查并确保输出的每一项参数大于等于典型设置
cat /proc/sys/kernel/sem
5、调整资源限制参数
Login as halo
ulimit -a|egrep "core|processes|open|stack|locked"
确保输出的每一项参数大于等于以下典型设置
core file size (blocks, -c) unlimitedmax locked memory (kbytes, -l) unlimitedopen files (-n) 1024000stack size (kbytes, -s) unlimitedmax user processes (-u) unlimited
如果任意一项不满足,在limits.conf末尾添加相应的行
Login as rootvi /etc/security/limits.conf#core file size:halo soft core unlimitedhalo hard core unlimited#max locked memory:halo soft memlock unlimitedhalo hard memlock unlimited#open files:halo soft nofile 1024000halo hard nofile 1024000#stack size:halo soft stack unlimitedhalo hard stack unlimited#max user processes:halo soft nproc unlimitedhalo hard nproc unlimited
Re-login as halo
再次检查并确保输出的每一项参数大于等于典型设置
ulimit -a|egrep "core|processes|open|stack|locked"
6、创建数据库并初始化
Login as root
mkdir -p /data/halochown halo:halo /data/halo
Login as halo
pg_ctl init -D /data/halo --数据库初始化
7、数据库启动
通常,我们使用pg_ctl命令来启动数据库实例,例如:
pg_ctl start -D /data/halo
一旦系统正常起来后,我们就可以连接数据库实例啦。





