openGauss
开源数据库
openGauss社区官网
开源社区
VMware下CentOS7.6安装openGauss
VMware 下 CentOS7.6(7.9)安装 openGauss
1. centos 安装
这里我使用的是 vmware workstation Pro 15 虽然官网了解了一下 openGauss 最适合的 centos 版本为 centos7.6
但是因为 centos7.6 版本已经停更,所以我这里下载的是 7.9 版本的镜像文件
下载完成后打开 vmware,创建新的虚拟机
自定义配置,选择下一步。
直接下一步
选择稍后安装操作系统,下一步
客户机操作系统选 Linux,版本选 CentOS7 64 位
命名随意
处理器配置默认全 1(这里可以根据自己电脑配置自行选择)
虚拟机内存我选的是 2GB(这里也是根据自己电脑内存选择的)PS:据同学说这里虚拟机内存选 8GB 可以直接使用 openGauss 的简易安装模式,但我的电脑只有 8GB 所以没有尝试。
网络连接选 NAT
后面两项默认推荐
创建新虚拟磁盘
最大磁盘大小选 20GB,选将虚拟磁盘拆分成多个文件
默认下一步
右键 CentOS 点设置,点 CD/DVD,使用 ISO 映像文件,选之前下载的镜像
然后开启虚拟机,这里我遇到了第一个问题,一开启虚拟机,宿主机就蓝屏死机。一开始我以为我后台开了什么东西内存占用太大,但关闭后台进程后依旧存在这个问题,查了一下,大多解释是说 VMware 的鲁棒性很差,在 win10 某次更新后 VMware 就存在这个蓝屏的问题。解决方法是更新至最新的 VMware16 Pro 版本。我试了一下,确实可行,而且覆盖更新不用重新配置虚拟机,上面的工作也没有白费。接下来继续安装。 打开虚拟机,选择 Install CentOS Linux7 ,enter。
语言就看个人情况选择了,不过中文可能会有些乱码问题。
这里配置一些基本信息 1、点击安装源,进入之后直接选择 done,警告符号随即消失。 2、软件选择:GNOME 桌面,一个友好的图形化界面 3、根据需要禁用 Kdump 4、自动分区,一般化为 4 个分区,如图所示
在安装过程中设置用户和密码
安装后点重启,看到如下界面
接受许可并配置网络
登录后就可进入图形界面 右上角打开有线设置
到此,CentOS 的安装就完成了。
2.openGauss 安装
2.1 准备工作 查看 ip ifconfig
vi /etc/profile 编辑/etc/profile 文件,在末尾加上 ulimit -c unlimited,然后重新加载该文件 source /etc/profile
关闭防火墙,禁用 SWAP,SELINUX(为了后面安装避免过多验证以及避免连接失败)
继续执行 yum install python3.6*命令(我这里由于之前已经安装过 python3.6 了,因此得到的结果如下图)
没安装过的话效果是这样的
然后进行其他软件包的安装
linux 中权限最大的用户是 root,Gauss 数据库官方默认以 dbgrp 为用户组,omm 为用户,所以需要进行用户创建。
然后我们为 openGauss 建一个目录,用来存放 openGauss 的压缩包以及该压缩包解压后的文件。这里我在/opt/software 下新建了一个 openGauss 的文件夹。执行 chmod -R 755 /opt/software/openGauss 命令给予 openGauss 文件夹读写权限。
2.2 下载 openGauss 安装包
在官网下载 openGauss 的安装包,我这里选择的是 2.0.1 企业版。
然后设置 VMware 的共享文件夹用于在宿主机和虚拟机之间传递文件。 设置共享文件夹一般有自动和手动两种方式 因为未知原因,我的安装 vmware tools 的按键灰色不可用
尝试了很多解决办法也没有作用,只能选择手动设置共享文件夹。 右键 centos 选择设置,进入选项界面 .
选择共享文件夹,总是启用,并在宿主机上设置共享文件夹。 设置完成后,使用 vmhgfs-fuse .host:/ /mnt/hgfs 指令完成共享文件夹的挂载 .
cd 进根目录/mnt/hgfs,可以看到先前设置的主机共享文件夹 不过这种方法配置共享文件夹需要每次开机后重新进行挂载,比较麻烦。 然后将宿主机中的安装包放入共享文件夹中,再通过 mv 指令将安装包放入 openGauss 文件夹下.
然后进入 openGauss 文件夹解压安装包
然后执行命令 ls -l,显示类似如下信息即可
3. 配置 XML 文件
进入刚刚解压产生的 script 文件夹,查看是否有预安装脚本:
在 openGauss 目录下执行 vim clusterconfig.xml 命令。然后将下面内容右键粘贴到新建的 xml 文件中,然后按 esc 退出插入模式,输入:wq!保存并退出。
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- 整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="opengauss" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="localhost.localdomain" />
<!-- 节点IP,与nodeNames一一对应 -->
<PARAM name="backIp1s" value="***.***.***.***"/>
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<!-- 临时文件目录-->
<PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" />
<!--数据库工具目录-->
<PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
<!--数据库core文件目录-->
<PARAM name="corePath" value="/opt/huawei/corefile"/>
<!-- openGauss类型,此处示例为单机类型,“single-inst”表示单机一主多备部署形态-->
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="1000001">
<!-- node1的hostname -->
<PARAM name="name" value="localhost.localdomain"/>
<!-- node1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- node1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="***.***.***.***"/>
<PARAM name="sshIp1" value="***.***.***.***"/>
<!--DBnode-->
<PARAM name="dataNum" value="1"/>
<!--DBnode端口号-->
<PARAM name="dataPortBase" value="26000"/>
<!--DBnode主节点上数据目录,及备机数据目录-->
<PARAM name="dataNode1" value="/opt/huawei/install/data/db1"/>
<!--DBnode节点上设定同步模式的节点数-->
<!--><PARAM name="dataNode1_syncNum" value="0"/><-->
</DEVICE>
</DEVICELIST>
</ROOT>
这里的节点名称和 IP 要改成自己的,这些在准备工作中已经查看了。 执行 vi /etc/profile 命令打开 profile 文件,添加如下命令:
退出插入模式,输入:wq!保存并退出。然后需要 source 一下
4. 预安装
在/opt/software/openGauss/script 文件夹下,执行命令 ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml 正常情况下会出现以下反馈
但是可能是因为我的 xml 文件配置错误,又或者是其他原因,导致我的预安装指令没有反馈,不论成功还是报错都没有。这里我就犯了个错误,在没有反馈的情况下反复执行预安装指令,没有反馈重启终端再执行;还没有反馈重启虚拟机再执行。反复操作下我的 centos 开启过程开始报错 piix4_smbus: Host SMBus controller not enabled!;输入密码后从登录界面又跳回登录界面没法进入系统。 在尝试了诸多解决方法之后,我发现这时我的 centos 重启后会丢失数据,按照网上的解决方法更改的文件无法保存,所以都没有发挥作用。在进行了一个下午的尝试后我放弃了,我选择重新配置一个新的虚拟机,按照上述步骤重来一次。现在想来可能是反复执行预安装命令产生大量重复的 root 用户和 openGauss 用户的互信信息导致磁盘占用率接近满值导致出现该问题。在重新配置虚拟机后我再次开始预安装,这次出现了报错反馈 Exception: [GAUSS-51900] The current OS is not supported. The current system is: centos7.9 这里提示我们 CentOS7.9 不支持 openGauss,所以我们需要降级到 7.6 版本,但 7.6 版本的镜像我在网上没能找到,据说 openGauss 相关书籍里会提供 7.6 版本镜像。但我这里使用的是 wget http://vault.centos.org/7.6.1810/os/x86_64/Packages/centos-release-7-6.1810.2.el7.centos.x86_64.rpm 指令来下载 centos7.6 版本 rpm 包
安装下载的 7.6 rpm 包
rpm -ivh centos-release-7-6.1810.2.el7.centos.x86_64.rpm –force
这时重新运行 rpm -qa | grep -i centos-release 就可以看到两个发行版本
卸载掉 7.7 版本
rpm -ev centos-release-7-7.1908.0.el7.centos.x86_64
之后再次进行预安装,这次成功进行了预安装。 通过 openGauss 提供的 gs_checkos 工具来检查系统状态。注意需要切换到/opt 目录下执行命令。
5. 正式安装
切换到 omm 用户,进行安装。
执行过程中需要用户设定密码,最后出现 completed 就完成了。
在 omm 用户下,执行 gs_om -t start 命令和 gs_om -t stop 命令启动或关闭数据库