openGauss 6.0.0-RC1新特性:一站式交互安装初体验

举报
Gauss松鼠会小助手2 发表于 2024/08/05 17:10:08 2024/08/05
【摘要】 我是从去年开始接触国产数据库openGauss,之前一直使用的是成熟的Mysql,Oracle等数据库,对比之下,openGauss的安装方式要比他们麻烦不少,在折腾5.0的时候,预安装(初始化安装)这一步也阻塞了不少时间,看到这个特性,那必须要体验一番。

openGauss 6.0.0-RC1是openGauss 2024年3月发布的创新版本,闲来无事翻阅文档,被一条新增特性内吸引了目光:

  • 内核工具:支持一站式交互安装

  • 用户通过交互界面输入数据库的相关信息,系统自动生成xml配置文件,并自动进行数据库的初始化安装。

我是从去年开始接触国产数据库openGauss,之前一直使用的是成熟的Mysql,Oracle等数据库,对比之下,openGauss的安装方式要比他们麻烦不少,在折腾5.0的时候,预安装(初始化安装)这一步也阻塞了不少时间,看到这个特性,那必须要体验一番。

环境准备

先附上官方文档:一站式安装指南;可以看到默认的选项是一主两备集群;

因此,先准备三台虚拟机用于测试;

IP信息如下:

10.125.10.1410.125.10.6710.125.10.229复制复制复制

系统操作信息如下:

[root@localhost ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 (LTS-SP1)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP1)"
ANSI_COLOR="0;31"
[root@localhost ~]# uname -a
Linux localhost.localdomain 5.10.0-136.12.0.86.oe2203sp1.x86_64 #1 SMP Tue Dec 27 17:50:15 CST 2022 x86_64 x86_64 x86_64 GNU/Linux复制

规格为8C16G;基于之前安装5.0.0版本的经验,将官方文档中准备软硬件安装环境这一步骤整合在一起使用shell脚本一键执行,方便操作;


其中python使用openEuler 22.03 LTS SP1镜像自带版本,版本信息如下:

[root@gauss1 rpms]# python3 --version
Python 3.9.9复制

一键脚本主要内容如下(加粗部分是与官方文档存在差异及踩坑的部分):

  • 安装软件依赖;除官方文档内的三个依赖外,经过测试,expect依赖也是必须


[root@gauss1 rpms]# ll
总用量 488
-rw-r--r--. 1 root root 247025  4月 18 20:52 expect-5.45.4-7.oe2203sp1.x86_64.rpm
-rw-r--r--. 1 root root  22141  4月 19 10:37 libaio-0.3.113-5.oe2203sp1.x86_64.rpm
-rw-r--r--. 1 root root  10817  4月 19 10:36 libaio-devel-0.3.113-5.oe2203sp1.x86_64.rpm
-rw-r--r--. 1 root root 211561  4月 19 13:52 readline-devel-8.1-2.oe2203sp1.x86_64.rpm复制
  • 修改防火墙配置


  • 设置主机名(由于使用云平台模板创建的虚拟机,三台虚拟机名称统一为localhost.localdomain,修改为不同主机名)
  • 关闭RemoveIPC


  • 创建用户组和用户(必须为omm用户和dbgroup用户组),之前使用的是安装5.0.0时设置的dbgrp用户组,在测试过程中出现了错误

    cke_7083.png

  • 关闭THP
  • 拷贝安装包内的pssh工具到虚拟机内:在前面的多次测试中,总会报错pssh命令不存在的错误,翻阅安装包及后续成功的经验来看,openGauss初始化安装过程中其中一步是设置自身携带的pssh工具路径,但在这之前会尝试直接使用pssh,而pssh并不是镜像必备软件,会报错命令不存在,因此要手动拷贝安装包内此软件到/usr/bin/目录下;其中,安装包内工具路径为openGauss-6.0.0-RC1-openEuler-64bit-om/script/gspylib/pssh/bin/pssh,同级目录下还有pscp和TaskPool.py脚本,为了方便,一起拷贝;拷贝完成后,执行chmod +x pssh pscp TaskPool.py赋予执行权限;

将此脚本依次在三台虚拟机上执行,就完成了环境准备的全部内容;



一站式初始化安装

  • 在三台虚机内创建/opt/openGauss目录;
mkdir -p /opt/openGauss复制
  • 将安装包上传到第一台虚拟机(10.125.10.14)root目录下,执行解压命令,将安装包解压到/opt/openGauss目录下;
[root@gauss1 ~]# ll |grep openEuler
-rw-r--r--. 1 root root 151532247  4月 18 20:29 openGauss-6.0.0-RC1-openEuler-64bit-all.tar.gz
[root@gauss1 ~]# tar -zxf openGauss-6.0.0-RC1-openEuler-64bit-all.tar.gz -C /opt/openGauss/复制
  • 进入/opt/openGauss,解压OM安装包到当前目录;
[root@gauss1 ~]# cd /opt/openGauss/
[root@gauss1 ~]# tar -zxf openGauss-6.0.0-RC1-openEuler-64bit-om.tar.gz复制
  • 进入script目录,执行初始化安装命令,我并没有使用环境分离,因为去掉环境分离参数(--sep-env-file=ENVFILE);
[root@gauss1 ~]# cd script
[root@gauss1 ~]# ./gs_preinstall -U omm -G dbgroup --one-stop-install复制复制
  • 到这一步根据提示,全部选择默认,跟随提示交互输入即可;


cke_10883.png

cke_13329.png


初始化安装成功如下图:


cke_20870.png


执行数据库安装

初始化安装完成后,安装就简单了,切换到omm用户下执行安装命令即可;根据初始化安装过程中的提示,生成的xml路径为:/opt/openGauss/script/base_utils/template/cluster.xml

使用此路径进行安装即可

[root@gauss1 ~]# su - omm
[root@gauss1 ~]# gs_install -X /opt/openGauss/script/base_utils/template/cluster.xml复制

cke_24063.png


安装成功截图如下:

cke_27355.png


使用gs_om -t status --detail查询数据库状态可以看到数据库正常:

cke_30723.png


注意

实践过程中,饶是我已经有了很多安装5.0.0的经验,但还是耗费了一整体时间才安装成功,因此,感觉还是有几点需要注意,写在这里备忘。

    • 请选择是否部署资源池化和请选择是否部署CM的选项,1和2不是相同含义,如果不选择默认,一定要注意;
    • 除官方提醒的三个依赖外,还需要安装expect依赖,且三个节点都需要安装;
    • 所有的初始化安装和安装命令均需要解压OM安装包后进入script包执行;
    • openGauss依赖SSE4_2指令集,使用不同厂商云平台创建虚机安装的时候一定要注意如何设置,使虚拟机支持此指令集;
    • pssh提前拷贝(这是不是BUG)
    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。