Centos 系统 安装openGauss 数据库操作记录

1. 下载安装包

https://opengauss.org/zh/download.html

下载完成后上传并解压到一个目录中,/opt/huawei是默认的安装目录,不要把安装包放在安装目录中,如果一定要用不想改名,就只能在安装配置xml文件中修改安装目录位置。

吐槽一下: 官网给的连接和说明是下载一个all.tar.gz的文件,里面包含cm、om、tar.bz2还有一个upgrade_sql的文件,但后面安装教程只提到和用到了om。

2. 安装环境要求: 

1) 硬件环境
   内存 32G 及以上
   8核 2.0GHz ,性能及商业化部署  单实例建议至少16核 2.0GHz,目前Gauss 数据库支持鲲鹏和X86 环境
  硬盘  1GB 应用程序, 300M 元数据,建议系统盘 RAID1 ,数据盘RAID5
  网卡 300M

 (2)软件环境 

   注意python版本: 我用的环境是 centos 7.9,python 安装了3.7 一直报错,后来换成python3.6就通过了。后来看文档,人家写的是支持,不是支持XX及以上版本。 用shell脚本不行吗? 非要用python,还弄了好几个版本,不累么?

  • openEuler:支持Python 3.7.X
  • CentOS:支持Python 3.6.X
  • 麒麟:支持Python 3.7.X

  (3)软件依赖
  libaio-devel   建议版本:0.3.109-13
   flex    要求版本:2.5.31 以上
   bison 建议版本:2.7-4
   ncurses-devel  建议版本:5.9-13.20130511
   glibc-devel   建议版本:2.17-111
    patch    建议版本:2.7.1-10
    redhat-lsb-core   建议版本:4.1
    readline-devel  建议版本:7.0-13
    libnsl(openEuler+x86环境中)建议版本:2.28-36
 
   yum install -y   libaio-devel   flex bison ncurses-devel  glibc-devel patch  redhat-lsb-core  readline-devel libnsl

(4) 系统设置
    systemctl stop firewalld    
    setenforce 0
    export LANG=XXX  字符集与数据库相同
    设置时区
    swapoff -a 关闭swap交换分区
    ifconfig eth0  mtu 1500 / 8192   X86  1500  ARM  8192

3. 安装前准备

(1) 创建xml文件

在script的某个子目录中有一个示例cluster_config_template.xml ,将此文件按照环境实际情况修改后即可使用,官方也提供了多种场景的配置文件示例。

我第一次安装用单节点模式,没有互信等问题。需要将配置文件中的node2 信息都删除掉即可。

(2) 安装前置检查

 ./gs_preinstall -U omm -G dbgrp -X /opt/gaussdb-installer/script/cluster_config.xml

 上面报错就是因为python版本不对,找不到对应的库文件,必须要对应。

[root@localhost script]# ./gs_preinstall -U omm -G dbgrp -X /opt/gaussdb-installer/script/cluster_config.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Setting host ip env
Successfully set host ip env.
Are you sure you want to create the user[omm] (yes/no)? yes
Please enter password for cluster user.
Password:
Please enter password for cluster user again.
Password:
Generate cluster user password files successfully.

Successfully created [omm] user on all nodes.
Preparing SSH service.
Successfully prepared SSH service.
Checking OS software.
Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
Successfully created cluster's path.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
Warning: Installation environment contains some warning messages.
Please get more details by "/opt/gaussdb-installer/script/gs_checkos -i A -h node1_hostname --detail".
Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
Setting user environmental variables.
Successfully set user environmental variables.
Setting the dynamic link library.
Successfully set the dynamic link library.
Setting Core file
Successfully set core path.
Setting pssh path
Successfully set pssh path.
Setting Cgroup.
Successfully set Cgroup.
Set ARM Optimization.
No need to set ARM Optimization.
Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.

脚本会自动创建用户并交互式设置口令。 上面提示有告警。看一下

[root@localhost script]# /opt/gaussdb-installer/script/gs_checkos -i A -h node1_hostname --detail
Checking items:
    A1. [ OS version status ]                                   : Normal
        [node1_hostname]
        centos_7.9.2009_64bit

    A2. [ Kernel version status ]                               : Normal
        The names about all kernel versions are same. The value is "3.10.0-1160.el7.x86_64".
    A3. [ Unicode status ]                                      : Normal
        The values of all unicode are same. The value is "LANG=zh_CN.UTF-8".
    A4. [ Time zone status ]                                    : Normal
        The informations about all timezones are same. The value is "+0800".
    A5. [ Swap memory status ]                                  : Normal
        The value about swap memory is correct.
    A6. [ System control parameters status ]                    : Warning
        [node1_hostname]
        Warning reason: variable 'net.ipv4.tcp_retries1' RealValue '3' ExpectedValue '5'.
        Warning reason: variable 'net.ipv4.tcp_syn_retries' RealValue '6' ExpectedValue '5'.
        Check_SysCtl_Parameter warning.

    A7. [ File system configuration status ]                    : Warning
        [node1_hostname]
        Warning reason: variable 'open files' RealValue '1024' ExpectedValue '1000000'
        Warning reason: variable 'max user processes' RealValue '127913' ExpectedValue 'unlimited'

    A8. [ Disk configuration status ]                           : Normal
        The value about XFS mount parameters is correct.
    A9. [ Pre-read block size status ]                          : Normal
        The value about Logical block size is correct.
    A10.[ IO scheduler status ]                                 : Normal
        The value of IO scheduler is correct.
    A11.[ Network card configuration status ]                   : Warning
        [node1_hostname]
BondMode Null
        Warning reason: network 'ens160' 'mtu' RealValue '1500' ExpectedValue '8192'

    A12.[ Time consistency status ]                             : Warning
        [node1_hostname]
        The NTPD not detected on machine and local time is "2022-05-18 10:51:38".

    A13.[ Firewall service status ]                             : Normal
        The firewall service is stopped.
    A14.[ THP service status ]                                  : Normal
        The THP service is stopped.
Total numbers:14. Abnormal numbers:0. Warning numbers:4.

看到没有,参数设置高了也不行,低了也不行。

Warning reason: variable 'net.ipv4.tcp_retries1' RealValue '3' ExpectedValue '5'.

Warning reason: variable 'net.ipv4.tcp_syn_retries' RealValue '6' ExpectedValue '5'.

还有一个槽点,看这个警告提示:

Warning reason: network 'ens160' 'mtu' RealValue '1500' ExpectedValue '8192'

官网明明写的是X86 MTU设置1500,ARM 平台设置 8192. 结果我的X86平台竟然期望是8192,只能改了再说。

ifconfig ens160 mtu 8192 

按照提示,将报警的项目一一设置好,然后再次检查完全通过。

 (2) 安装

安装反而简单了,只要注意设定好python的路径即可。

 安装完成后,按照官网就是初始化数据库了,不过实际上数据库只是安装了,还没有启动好不好!以下命令启动数据库。

  gs_om -t start

 

 启动了,看官网说要连接数据库,结果报错。

 

 看下数据库进程监听的端口,15400,监听端口在xml配置文件中定义的,需要自己看下。3.0版本中的模板样例中将端口改成了15400,可能2.X版本是26000吧。

用gsql -d postgres -p 15400 连接数据库,然后创建一个自己的数据库成功。

后记:

1. 按照官网的安装文档进行安装并不顺利,很多小地方都没有提到,顺序也较为混乱。象操作系统参数设置放在环境准备和初始化安装环境两部分了。

2.  感觉如果限定python版本的话, 还不如用shell,基本不会有太大改变。我的系统上已经安装了python 3.8,又要再安装一个 3.6才可以安装,不爽。

3.  官网文档有些山寨,动不动就让你关闭防火墙进行安装。用什么端口就直接开放端口就可以了,到最后也没有说要防火墙开放什么端口。自己玩玩可以,生产环境这样操作就有些不好了。

### 安装 OpenGauss 数据库于 CentOS 虚拟机 #### 前置条件 为了成功安装 OpenGauss 数据库,在 CentOS 上需满足一系列前置条件。确保操作系统版本兼容,推荐使用 CentOS 7.x 或更高版本[^1]。此外,还需确认硬件资源充足,特别是内存和磁盘空间应能满足数据库运行需求。 #### 准备工作 准备阶段涉及配置环境变量以及下载必要的软件包。建议先更新系统至最新状态并安装基础开发工具链,这可以通过执行 `yum groupinstall -y "Development Tools"` 来完成。接着设置防火墙规则允许访问所需端口,并调整 SELinux 设置以适应应用程序的要求。 #### 下载与解压 前往官方文档获取最新的 OpenGauss 发行版链接或者镜像站点地址。利用 wget 工具或其他方式将 tarball 文件下载到目标机器上;之后通过命令如 `tar zxvf opengauss-x.x.x-openEuler.tar.gz` 解压缩文件夹内容以便后续操作。 #### 配置初始化参数 创建专用用户账号用于管理和服务启动停止权限分配。编辑配置文件来指定监听 IP 地址、端口号等基本信息项。对于多实例部署场景,则要特别注意不同节点间通信机制的设计实现。 #### 执行安装脚本 进入已解压目录下的 scripts 子路径中找到 install.sh 可执行文件,赋予其可读写属性并通过如下指令调用它来进行正式安装过程:`./install.sh --prefix=/opt/opengauss` 。这里指定了安装位置为 /opt/opengauss ,可根据实际情况修改此路径。 #### 后续处理事项 初次登录时会提示输入密码,请按照屏幕指示完成设定流程。另外记得定期备份重要数据以防意外丢失情况发生。最后不要忘记查阅相关日志记录排查潜在错误警告信息。 ```bash # 更新系统安装基本工具集 sudo yum update && sudo yum groupinstall -y 'Development Tools' # 创建新用户组和用户 groupadd omm useradd -g omm omm # 修改当前shell session中的环境变量 export PATH=$PATH:/home/omm/product/bin/ # 初始化集群前准备工作 su - omm source ~/.bashrc gs_preinstall -U omm -G omm --sep-env-file=.db_env --non-interactive # 开始实际安装动作 cd /path/to/downloaded/package/scripts/ chmod u+x ./install.sh ./install.sh --prefix=/opt/opengauss # 初次登陆设置管理员账户密码 /opt/opengauss/bin/gsql -d postgres -p 5432 -c "ALTER USER yourusername WITH PASSWORD 'yourpassword';" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值