1. 安装前准备
安装数据库前先要有已安装centOS 7.6的服务器+数据库安装包。
- 首先找小伙伴申请了华为云ECS服务器安装好了OS,这里使用的是x86_64+centos。 华为云服务器现在可是很划算呢,安装也很方便。
- 通过软件包 | openGauss登录openGauss开源社区,选择3.0.0版本对应平台企业版安装包。我用的centos_x86_64,安装包下载到本地。文件名:openGauss-3.0.0-CentOS-64bit-all.tar.gz。

2. python3准备
centos自带的python是python2,不符合官方文档要求。(实际也确实不能支撑openGauss安装,我已经试过了)

而且官方文档只写了要求有python3,并没有详细的说明要怎么装,所以就对一些新手不太友好。
centos要求python只能是3.6.X,而不是及以上,也就是不能用3.7。我这里用的3.6.15。Python3安装还依赖zlib。所以无论在线还是离线安装都需要先把zlib相关安装完成。
如果服务器可以直接连到互联网yum源或者自己公司的yum源 ,就可以参考在线版安装。否则使用离线安装。
2.1 在线版安装
这里要求服务器可以直接连到互联网用yum 或者wget,或者配置了代理。
- 安装依赖包,有些可能系统自带,没关系。
完成后会提示“Complete!”
- 下载python安装包。
因为下载很慢,也可以先去python官网 https://www.python.org/downloads/release/python-3615/下载一个新版本到本地再上传到服务器。
解压然后安装python3.6。make编译时间比较长,耐心等待,满屏的输出陪着你。
最后提示Successfully就说明安装成功了。

但是,注意此时还需要设置下OS上python的软连接。其中,/usr/local/python3/需要替换为你自己python安装包的实际路径,就是上面./configure的路径。如果是按照 我的指导做的就不用改。
到这里在centos上安装python3.6就完成了。
2.2 离线版安装
由于有时需要在公司内网安装,服务器直接下载不方便,什么 yum 、wget 统统不可用。只能去官网下载软件到windows然后上传linux后安装。
所以我机器上自带了1.2.7版本,需要安装1.2.7版本的zlib-devel。自己去搜一个对应版本的上传到服务器上。

剩下的就是按照在线版中说的,将python安装包下载本地后上传,执行与在线版相同的安装和配置动作即可。
3. 修改操作系统配置
目前仅支持在防火墙关闭的状态下进行安装。
- 修改/etc/selinux/config文件中的“SELINUX”值为“disabled”。使用VIM打开config文件。
查看“SELINUX”的值是否为“disabled”。是的话直接下一步。不是的话修改“SELINUX”的值“disabled”,执行:wq保存并退出修改,然后reboot重启。
- 检查防火墙是否关闭。若防火墙状态显示为inactive (dead),直接下一步。
若防火墙状态显示为active (running),则表示防火墙未关闭,请关闭防火墙。
- 将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加“export LANG=en_US.UTF-8”(也可以设置成GBK,看你习惯用啥)。
- 使用swapoff -a命令将交换内存关闭。
- 修改/etc/systemd/logind.conf的“RemoveIPC”的值“no”,前面的#也删掉。

6.重新加载参数并检查。
7.执行ifconfig命令查询服务器的网卡名称。默认一般就是对的。
如下图所示,服务器IP为10.244.53.173,则该服务器的网卡名称为eth0。对于X86,官方文档MTU值推荐1500。

设置root用户远程登录
-
vim打开配置文件/etc/ssh/sshd_config。
-
查看PermitRootLogin配置是否为yes,表示允许用户远程登录。
-
在Banner XXX 前面加 #,注释掉欢迎语。
-
重启sshd服务。
在其他服务器上执行上面的步骤。
4. 配置文件cluster_config.xml准备
从安装文档示例中,把主机名pekphisprb70593和IP 10.x.x.x替换成自己实际使用的值。保存到文件,文件名为cluster_config.xml。
下面是修改后的内容。注意编码格式,我用notepad++ 可以看到编码格式为UTF-8。新手建议Windows上修改完再上传服务器。
5. 安装及验证
- 这一步基本上就是按照产品文档进行安装的了,没啥好说的。
以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录。 - 将安装包“openGauss-3.0.0-CentOS-64bit-all.tar.gz”和配置文件“cluster_config.xml”都放到上一步所创建的/opt/software/openGauss目录中。
- 解压安装包。
- 进入script执行预安装命令。我采用的是交互式,所以需要在中间提示的时候输入密码。安装时长大概一两分钟。
- 切换到omm用户,使用gs_install安装openGauss。中间根据提示输入要设置的数据库密码,大概两三分钟的样子。
- 检查下数据库状态,state都是Normal就可以。
- 现在试一下连接。
安装到此结束。
6. 可能遇到的问题
- Python安装 make install提示zipimport.ZipImportError:can't decompress data;zlib not available。
然后这里报错了,提示zlib没有,解压不了数据。
这种一般是没有装zlib-devel。可以用yum的话执行 yum -y install zlib-devel 装一下。
只能离线装的话就按照本文离线版安装章节解决下。
PS:这里我搜了很多资料,因为没有配置yum,只能离线方式安装。开始按照zlib-xxx.tar.gz安装然后编译,结果安装python一直提示上面的错,还以为是zlib配置的不对,后来尝试了zlib-devel的其他版本也不可。遇到相同问题的人避开这个坑。
-
openGauss执行./preinstall时报错提示“Unable to import module: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory.”是python配置没弄好。
解决办法:
找到这个文件,写到python配置文件里。
在这个路径下新建python3.conf,里面写入libpython3.6m.so.1.0的上一层目录,我这里找到两条,写一条就好了,比如/usr/local/python3/lib,然后保存退出。
执行下面这个重新加载下。
再重新执行步骤4 ./gs_preinstall那条命令就可以了。
1. 安装前准备
安装数据库前先要有已安装centOS 7.6的服务器+数据库安装包。
2. python3准备
centos自带的python是python2,不符合官方文档要求。(实际也确实不能支撑openGauss安装,我已经试过了)
而且官方文档只写了要求有python3,并没有详细的说明要怎么装,所以就对一些新手不太友好。
centos要求python只能是3.6.X,而不是及以上,也就是不能用3.7。我这里用的3.6.15。Python3安装还依赖zlib。所以无论在线还是离线安装都需要先把zlib相关安装完成。
如果服务器可以直接连到互联网yum源或者自己公司的yum源 ,就可以参考在线版安装。否则使用离线安装。
2.1 在线版安装
这里要求服务器可以直接连到互联网用yum 或者wget,或者配置了代理。
完成后会提示“Complete!”
因为下载很慢,也可以先去python官网 https://www.python.org/downloads/release/python-3615/下载一个新版本到本地再上传到服务器。
解压然后安装python3.6。make编译时间比较长,耐心等待,满屏的输出陪着你。
最后提示Successfully就说明安装成功了。
但是,注意此时还需要设置下OS上python的软连接。其中,/usr/local/python3/需要替换为你自己python安装包的实际路径,就是上面./configure的路径。如果是按照 我的指导做的就不用改。
到这里在centos上安装python3.6就完成了。
2.2 离线版安装
由于有时需要在公司内网安装,服务器直接下载不方便,什么 yum 、wget 统统不可用。只能去官网下载软件到windows然后上传linux后安装。
所以我机器上自带了1.2.7版本,需要安装1.2.7版本的zlib-devel。自己去搜一个对应版本的上传到服务器上。
剩下的就是按照在线版中说的,将python安装包下载本地后上传,执行与在线版相同的安装和配置动作即可。
3. 修改操作系统配置
目前仅支持在防火墙关闭的状态下进行安装。
查看“SELINUX”的值是否为“disabled”。是的话直接下一步。不是的话修改“SELINUX”的值“disabled”,执行:wq保存并退出修改,然后reboot重启。
若防火墙状态显示为active (running),则表示防火墙未关闭,请关闭防火墙。
6.重新加载参数并检查。
7.执行ifconfig命令查询服务器的网卡名称。默认一般就是对的。
如下图所示,服务器IP为10.244.53.173,则该服务器的网卡名称为eth0。对于X86,官方文档MTU值推荐1500。
设置root用户远程登录
vim打开配置文件/etc/ssh/sshd_config。
查看PermitRootLogin配置是否为yes,表示允许用户远程登录。
在Banner XXX 前面加 #,注释掉欢迎语。
重启sshd服务。
在其他服务器上执行上面的步骤。
4. 配置文件cluster_config.xml准备
从安装文档示例中,把主机名pekphisprb70593和IP 10.x.x.x替换成自己实际使用的值。保存到文件,文件名为cluster_config.xml。
下面是修改后的内容。注意编码格式,我用notepad++ 可以看到编码格式为UTF-8。新手建议Windows上修改完再上传服务器。
<?xml version="1.0" encoding="UTF-8"?> <ROOT> <!-- openGauss整体信息 --> <CLUSTER> <PARAM name="clusterName" value="opengSingle" /> <PARAM name="nodeNames" value="pekphisprb70593" /> <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="backIp1s" value="10.x.x.x"/> </CLUSTER> <!-- 每台服务器上的节点部署信息 --> <DEVICELIST> <!-- node1上的节点部署信息 --> <DEVICE sn="pekphisprb70593"> <PARAM name="name" value="pekphisprb70593"/> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> <PARAM name="backIp1" value="10.x.x.x"/> <PARAM name="sshIp1" value="10.x.x.x"/> <!--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>5. 安装及验证
以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录。
安装到此结束。
6. 可能遇到的问题
然后这里报错了,提示zlib没有,解压不了数据。
这种一般是没有装zlib-devel。可以用yum的话执行 yum -y install zlib-devel 装一下。
只能离线装的话就按照本文离线版安装章节解决下。
PS:这里我搜了很多资料,因为没有配置yum,只能离线方式安装。开始按照zlib-xxx.tar.gz安装然后编译,结果安装python一直提示上面的错,还以为是zlib配置的不对,后来尝试了zlib-devel的其他版本也不可。遇到相同问题的人避开这个坑。
openGauss执行./preinstall时报错提示“Unable to import module: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory.”是python配置没弄好。
解决办法:
找到这个文件,写到python配置文件里。
在这个路径下新建python3.conf,里面写入libpython3.6m.so.1.0的上一层目录,我这里找到两条,写一条就好了,比如/usr/local/python3/lib,然后保存退出。
执行下面这个重新加载下。
再重新执行步骤4 ./gs_preinstall那条命令就可以了。