在openeuler上安装opengauss数据库

在openeuler安装opengauss数据库

本文章采用的openEuler-20.03-LTS-x86_64系统和openGauss-All-6.0.0-openEuler20.03-x86数据库,以安装gauss数据库为主,安装openEuler只做简单介绍

一.准备工作

  1. 下载opengauss数据库安装包
  2. 创建数据库文件夹

安装openEuler成功后,将下载下的opengauss上传到openEuler里面,建议上传到根目录下,方便后续命令操作

目前仅支持在防火墙关闭的状态下进行安装
1
vim /etc/selinux/config

修改“SELINUX”的值“disabled”,执行**:wq**保存并退出修改。并使用reboot重启虚拟机

检查防火墙是否关闭
1
systemctl status firewalld
关闭防火墙
1
2
systemctl disable firewalld.service
systemctl stop firewalld.service
关闭swap交换内存
1
swapoff -a
关闭RemoveIPC
1
vim  /etc/systemd/logind.conf
修改“RemoveIPC”值为“no”
1
vim /usr/lib/systemd/system/systemd-logind.service
修改“RemoveIPC”值为“no”,如果没有这一行添加即可,添加内容如下
1
RemoveIPC=no
重新加载配置参数
1
2
systemctl daemon-reload
systemctl restart systemd-logind
检查修改是否生效
1
2
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
通过以下命令创建数据库安装文件夹
1
mkdir -p /opt/soft/opengauss
对该文件夹修改操作权限,防止后续权限不足造成结果失败
1
chmod 755 -R /opt/soft
创建数据库部署文件夹
1
mkdir /opt/huawei
修改权限
1
chmod 777 /opt/huawei
使用以下命令将下载包移动到目的文件夹下
1
cd /
1
mv openGauss-All-6.0.0-openEuler20.03-x86_64.tar.gz /opt/soft/opengauss
将压缩包进行解压
1
tar -zxvf openGauss-All-6.0.0-openEuler20.03-x86_64.tar.gz
安装辅助安装包之前还是需要配置一下yum源的,这里介绍如何配置华为云
1
2
cd /etc/yum.repos.d
rm -rf *
对于aarch64架构执行这个
1
wget -O /etc/yum.repos.d/openEulerOS.repo https://repo.huaweicloud.com/repository/conf/openeuler_aarch64.repo
对于X86架构执行这个
1
2
wget -O /etc/yum.repos.d/openEulerOS.repo https://repo.huaweicloud.com/repository/conf/openeuler_x86_64.repo

1
2
yum clean all
yum makecache
执行之后,开始安装辅助软件
1
yum install -y bzip2 libaio-devel flex bison ncurses-devel glibc-devel patch

二.配置安装环境文件

进入opengauss目录下再次解压两个压缩包
1
cd /opt/soft/opengauss
1
2
tar -zxvf openGauss-CM-6.0.0-openEuler20.03-x86_64.tar.gz
tar -zxvf openGauss-OM-6.0.0-openEuler20.03-x86_64.tar.gz
解压完成之后,在opengauss下会出现script文件夹,进入该文件夹
1
2
cd /script
ls
检查是否存在clusterconfig.xml文件,提示:在opengauss6.0版本下,此文件叫做cluster_config.xml,后续涉及该文件的命令均要修改该文件名称,或者现在将该空文件删除,使用以下命令创建一个
1
touch clusterconfig.xml
使用以下命令修改用户名为opengauss,提示:不修改也可以,但是后续的clusterconfig.xml文件下的以下几行需要修改
1
sudo hostnamectl set-hostname opengauss
将这几行的value的值改成你的用户名和你所在的ip
使用以下命令查看用户名
1
hostname

image-20241010215512256

再次使用hostname命令查看是否修改成功
修改文件内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<PARAM name="clusterName" value="dbCluster" />
<PARAM name="nodeNames" value="opengauss" />
<PARAM name="backIp1s" value="192.168.211.129"/>
<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" />
<PARAM name="corePath" value="/opt/huawei/corefile" />
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="1000001">
<PARAM name="name" value="opengauss"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.211.129"/>
<PARAM name="sshIp1" value="192.168.211.129"/>

<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="26000"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/db1"/>
</DEVICE>
</DEVICELIST>
</ROOT>
修改performance.sh脚本文件
1
vi /etc/profile.d/performance.sh
用#注释sysctl -w vm.min_free_kbytes=112640 &> /dev/null,保存退出
配置LD_LIBRARY_PATH环境变量
1
export LD_LIBRARY_PATH=/opt/soft/opengauss/script/gspylib/clib:$LD_LIBRARY_PATH

三.配置安装

进入script目录,执行gs_preinstall:
1
2
cd script/
./gs_preinstall -U omm -G dbgrp -X /opt/soft/opengauss/script/clusterconfig.xml
中间会让你输几次yes,后面密码设置的太简单也是不行的,建议大小写数字特殊字符均有
可能会遇到以下问题导致安装不成功的,可以执行下面的命令

image-20241105001518385

1
2
3
4
5
cat /proc/sys/kernel/sem
上面命令执行过后,会有四个数字,按顺序替换下面的四个数字就可以
echo "500 641280 500 500" > /proc/sys/kernel/sem
再次执行
./gs_preinstall -U omm -G dbgrp -X /opt/soft/opengauss/script/clusterconfig.xml
以end deploy..结尾那就是安装ok啦

四.执行安装

1
chmod 755 -R /opt/soft
使用omm用户登录
1
su - omm
执行安装
1
2
cd /opt/soft/opengauss/script/
gs_install -X /opt/soft/opengauss/script/clusterconfig.xml
在进行gs_install -X /opt/soft/opengauss/script/clusterconfig.xml这一步的时候如果shared_buffers太大会导致报错,如下图所示

image-20241010220826279

遇到这种情况,进行以下操作,如果没有跳过即可
首先打开vmware查看自己给虚拟机分配的内存大小

image-20241105002205911

定位postgresql.conf这个文件
1
cd /opt/huawei/install/data/db1
该文件夹下有postgresql.conf文件,使用以下命令查看shared_buffers分配大小

image-20241010221302959

原来我的shared_buffers是1G大小,后面调整到512M还是失败,最后256M成功跑通这一步
如果前面你的内存大小是4G,这里设置256MB,内存2G就设置128MB,但是内存设置1G,我这边跑一直报错!!!
配置更改命令如下(注意这里不能使用gs_guc reload,因为openGauss不属于启动状态,使用reload配置更改会失败,使用set就可以
调整shared_buffers大小命令,修改MB前的的数字就可以
1
gs_guc set -N all -I all -c "shared_buffers = 512MB"
再次执行以下命令
1
2
cd /opt/soft/opengauss/script/
gs_install -X /opt/soft/opengauss/script/clusterconfig.xml

image-20241010221804443

成功安装,执行以下命令查看数据库状态
1
gs_om -t status --detail

image-20241010221857229

进入数据库命令
1
gsql -d postgres -p 26000

image-20241010222034658

使用\q退出数据库
1
\q

如果你的虚拟机是动态ip,在如果你没有关机前关虚拟机的好习惯,那你就要遭老罪了,下一次启动数据库可能就会提示你

image-20241105002754609

解决办法:
  1. 查看你当前的虚拟机ip

    1
    2
    3
    cd /opt/soft/opengauss/script
    vi clusterconfig.xml
    修改之前的那几行ip换成你现在的ip地址
  2. 修改另外一个文件
    1
    2
    3
    cd /opt/huawei/install/data/db1
    vi postgresql.conf
    将68和72行ip改成现在的ip,就好啦

image-20241105002728409

openGauss常用命令

gs_om -t start 开启
gs_om -t stop 停止
gs_om -t restart 重启
gs_om -t status –detail 详细状态
gsql -d postgres -p 26000 登录数据库

参考文档:

1.https://bbs.huaweicloud.com/blogs/190392

2.https://wenku.csdn.net/answer/667560ebdfc14c78bf4568f3d10d4fdf#:~:text=opengauss%E4%B8%AD%E7%9A%84postgresql.conf%E5%92%8Cpg_hba.conf%E6%80%8E%E4%B9%88%E6%89%BE%201%20%E6%89%93%E5%BC%80opengauss%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%AE%89%E8%A3%85%E7%9B%AE%E5%BD%95%E3%80%82,2%20%E6%89%BE%E5%88%B0data%E7%9B%AE%E5%BD%95%EF%BC%8C%E8%BF%99%E4%B8%AA%E7%9B%AE%E5%BD%95%E4%BF%9D%E5%AD%98%E4%BA%86opengauss%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%89%80%E6%9C%89%E6%95%B0%E6%8D%AE%E6%96%87%E4%BB%B6%E5%92%8C%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E3%80%82%203%20%E5%9C%A8data%E7%9B%AE%E5%BD%95%E4%B8%AD%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0postgresql.conf%E5%92%8Cpg_hba.conf%E6%96%87%E4%BB%B6%E3%80%82

3.https://docs-opengauss.osinfra.cn/zh/docs/6.0.0/docs/InstallationGuide/InstallationGuide.html

4.https://blog.csdn.net/qq_37251994/article/details/130360755

5.https://blog.csdn.net/vanilla_he/article/details/79848142

6.https://support.huaweicloud.com/intl/zh-cn/errorcode-dws/dws_08_0556.html

7.https://blog.csdn.net/Tui_GuiGe/article/details/125716831#:~:text=%E6%89%A7%E8%A1%8C%E5%A6%82%E4%B8%8B%E5%91%BD%E4%BB%A4%2C%20%E4%B8%8B%E8%BD%BD%E6%96%B0%E7%9A%84openEulerOS.repo%E5%88%B0%2Fetc%2Fyum.repos.d%2F%E7%9B%AE%E5%BD%95%E4%B8%8B.%20for%20aarch64%20%EF%BC%9A%20for%20x86%EF%BC%9A,2%E3%80%81%E6%89%A7%E8%A1%8Cyum%20clean%20all%E6%B8%85%E9%99%A4%E5%8E%9F%E6%9C%89yum%E7%BC%93%E5%AD%98%E3%80%82%203%E3%80%81%E6%89%A7%E8%A1%8Cyum%20makecache%E7%94%9F%E6%88%90%E6%96%B0%E7%9A%84%E7%BC%93%E5%AD%98%E3%80%82%20%E4%BD%BF%E7%94%A8%20nmcli%20%E5%91%BD%E4%BB%A4%E9%85%8D%E7%BD%AE%E7%9A%84%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE%E5%8F%AF%E4%BB%A5%E7%AB%8B%E5%8D%B3%E7%94%9F%E6%95%88%E4%B8%94%E7%B3%BB%E7%BB%9F%E9%87%8D%E5%90%AF%E5%90%8E%E9%85%8D%E7%BD%AE%E4%B9%9F%E4%B8%8D%E4%BC%9A%E4%B8%A2%E5%A4%B1%E3%80%82

8.https://blog.csdn.net/qq_40220309/article/details/122680909