本文详细描述Halo数据库的兼容平台及安装过程。
Halo数据库兼容多种CPU平台,能够满足各种不同的需求。
兼容的CPU平台
Halo数据库兼容多种主流存储操作系统,能够满足各种不同的需求。
兼容的操作系统
Halo数据库需要一些额外的系统包来支持其运行,我们使用yum命令安装:
yum install -y sysstat ftp make cmake gcc uuid uuid-devel bison flex perl perl-devel python-devel readline readline-devel libxml2
yum 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++-devel
yum install -y libxcb make smartmontools zlib-devel tcl glibc glibc-devel openssl openssl-devel bc binutils
yum install -y nfs-utils perl-ExtUtils-Embed zstd zstd-devel libcurl libcurl-devel libicul ibicu-devel lz4 lz4-devel
有了这些依赖包,我们开始进入正题!
1、用户和组
group add -g 1000 halo
useradd -u 1000 -g halo halo
2、安装目录
安装目录没有特别的要求,通常建议目录路径为:/u01/app/halo。
创建库用户和组:
mkdir -p /u01/app/halo
chown -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_profile
export HALO_HOME=/u01/app/halo/product/dbms/13
export LD_LIBRARY_PATH=$HALO_HOME/lib
export PGHOST=/var/run/halo
export PATH=$HALO_HOME/bin:$PATH
编辑的脚本跑一遍
source /home/halo/.bash_profile
安装完成,测试安装是否正确:
pg_ctl -V
pg_ctl (Halo) 13.6
如果正确输出版本号,则说明安装正常。否则,请仔细检查安装步骤。
4、创建数据库进程目录
Halo数据库需要额外的路径来存放临时进程文件。默认路径为:
/var/run/halo。该默认路径安装时默认不存在,需要手工进行创建:
Login as root
mkdir /var/run/halo
chown 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.conf
kernel.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) unlimited
max locked memory (kbytes, -l) unlimited
open files (-n) 1024000
stack size (kbytes, -s) unlimited
max user processes (-u) unlimited
如果任意一项不满足,在limits.conf末尾添加相应的行
Login as root
vi /etc/security/limits.conf
#core file size:
halo soft core unlimited
halo hard core unlimited
#max locked memory:
halo soft memlock unlimited
halo hard memlock unlimited
#open files:
halo soft nofile 1024000
halo hard nofile 1024000
#stack size:
halo soft stack unlimited
halo hard stack unlimited
#max user processes:
halo soft nproc unlimited
halo hard nproc unlimited
Re-login as halo
再次检查并确保输出的每一项参数大于等于典型设置
ulimit -a|egrep "core|processes|open|stack|locked"
6、创建数据库并初始化
Login as root
mkdir -p /data/halo
chown halo:halo /data/halo
Login as halo
pg_ctl init -D /data/halo --数据库初始化
7、数据库启动
通常,我们使用pg_ctl命令来启动数据库实例,例如:
pg_ctl start -D /data/halo
一旦系统正常起来后,我们就可以连接数据库实例啦。
人物A 回复
这是回复
人物B 回复
我回复你了
人物A 回复
回复已收到