Halo数据库安装,三分钟快速上手! 你的第一个国产数据库!

本文详细描述Halo数据库的兼容平台及安装过程。

Halo数据库兼容多种CPU平台,能够满足各种不同的需求。

兼容的CPU平台

60.png

Halo数据库兼容多种主流存储操作系统,能够满足各种不同的需求。

兼容的操作系统

61.png

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

一旦系统正常起来后,我们就可以连接数据库实例啦。

62.png