虚拟机安装OpenGauss企业版

Posted tamchikit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机安装OpenGauss企业版相关的知识,希望对你有一定的参考价值。

一、安装流程

参考官网安装文档的安装流程:

 二、安装环境

操作系统:CentOS 7.6.1810

下载链接:Index of /7.6.1810/isos/x86_64

若下载速度太慢可以将种子文件放迅雷里使用。

硬件配置:

官网推荐配置如上,但由于实在虚拟机进行测试,本人配置如下:

!!!注意:内存配置比较重要,建议至少双核4G以上,否则后面安装时会遇到问题报错内存不足,而在安装时再修改虚拟机配置时,不知道什么原因会导致虚拟机的终端.app无法打开,没有响应,且暂时未在网上找到解决办法。

依赖及版本:

注:Readline-devel在Centos8上的最新版本才为7.0,Centos7上的版本为readline-devel-6.2-11.el7.x86_64.rpm

其他的依赖都直接通过yum install安装最新版即可。

编译安装Python3.7

//安装依赖
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel


//官网下载Python
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz


mkdir /usr/local/python3

tar zxvf Python-3.7.0.tgz.xz -C /opt/

//此处可能会报错,将Python-3.7.0.tgz.xz重命名为.tgz再解压即可
mv Python-3.7.0.tgz.xz Python-3.7.0.tgz

tar zxvf Python-3.7.0.tgz -C /opt/

cd /opt/Python-3.6.2/

./configure --prefix=/usr/local/python3

make

make install

//创建软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

关闭操作系统防火墙:

1、修改/etc/selinux/config文件中的“SELINUX“值为“disabled“,然后重启

vim /etc/selinux/config


```
SELINUX=disabled
```

reboot

 2、检查防火墙状态

systemctl status firewalld

若防火墙状态显示为active (running),则表示防火墙未关闭,需要执行:

systemctl disable firewalld.service
systemctl stop firewalld.service

若防火墙状态显示为inactive (dead),则无需再关闭防火墙。

三、安装准备

1、创建XML配置文件/opt/software/openGauss/cluster_config.xml

参考文件配置示例:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- openGauss整体信息 -->
    <CLUSTER>
        <!-- 数据库名称 -->
        <PARAM name="clusterName" value="dbCluster" />
        <!-- 数据库节点名称(hostname) -->
        <PARAM name="nodeNames" value="localhost.localdomain" />
        <!-- 数据库安装目录-->
        <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" />
        <!-- 节点IP,与数据库节点名称列表一一对应 -->
        <PARAM name="backIp1s" value="192.168.0.1"/> 
    </CLUSTER>
    <!-- 每台服务器上的节点部署信息 -->
    <DEVICELIST>
        <!-- 节点1上的部署信息 -->
        <DEVICE sn="node1_hostname">
            <!-- 节点1的主机名称 -->
            <PARAM name="name" value="localhost.localdomain"/>
            <!-- 节点1所在的AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.0.1"/>
            <PARAM name="sshIp1" value="192.168.0.1"/>
               
	    <!--dbnode-->
	    <PARAM name="dataNum" value="1"/>
	    <PARAM name="dataPortBase" value="15400"/>
	    <PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>
            <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>
    </DEVICELIST>
</ROOT>

其中,nodeNames值需要与本机hostname一致。

<PARAM name="nodeNames" value="localhost.localdomain" />

其次 ,backIp1s、backIp1、sshIp1的值需要与虚拟机网卡ip一致。

(ps:小坑,在安装的时候排查发现的错误)

2、初始化安装

创建存放安装包的目录,解压安装包,解压后会得到-om的安装包,继续解压。

mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software
cd /opt/software/openGauss
tar -zxvf openGauss-x.x.x-openEuler-64bit-all.tar.gz
tar -zxvf openGauss-x.x.x-openEuler-64bit-om.tar.gz

//进入目录
cd /opt/software/openGauss/script


//使用gs_preinstall准备好安装环境
//采用交互模式执行前置,并在执行过程中自动创建操作系统root用户互信和omm用户互信:
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml

若需要采用其他交互模式可参考:官方文档

preinstall时可能会报错Installation environment does not meet the desired ...

根据报错输入命令查看详细问题时

/opt/software/openGauss/script/gs_checkos -i A -h localhost.localdomain --detail

发现是THP服务未被禁用,解决办法:

//新建一个service
vi /etc/systemd/system/disable-thp.service

//内容
[Unit]
Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target

//使其生效
systemctl daemon-reload
systemctl start disable-thp

//使其开机生效
systemctl enable disable-thp

四、安装

omm用户需要拥有安装包所在目录及子目录的权限

sudo chown omm:dbgrp /opt -R

若报错

omm is not in the sudoers file.  This incident will be reported.

可修改/etc/sudoers文件

//给文件增加写权限
chmod u+w /etc/sudoers

//找到root  ALL=(ALL)   ALL行
//在下面增加
omm  ALL=(ALL)   ALL

//保存后去除文件写权限
chmod u-w /etc/sudoers

切换到omm用户

su - omm

gs_install -X /opt/software/openGauss/cluster_config.xml

执行安装(激动人心!!)

gs_install -X /opt/software/openGauss/cluster_config.xml

初始化数据库

//-p 端口
gsql -d postgres -p 15400

openGauss=# CREATE DATABASE mydb WITH ENCODING 'GBK' template = template0;

执行后显示CREATE DATABASE,则为成功。

以上是关于虚拟机安装OpenGauss企业版的主要内容,如果未能解决你的问题,请参考以下文章

使用虚拟机在CentOS上安装部署openGauss数据库指导(上)

参赛作品46CentOs虚拟机下opengauss的配置使用

openEuler-22.03系统安装openGauss3.0.0 企业版过程中遇到的坑

openEuler-22.03系统安装openGauss3.0.0 企业版过程中遇到的坑

参赛作品52openGauss数据库的安装运行

参赛作品34opengauss数据库的词法和语法分析