
天龙八部之Centos/RHEL 7 安装部署openGauss 5.0 企业版 一主二备一级联操作指南
前言: 写此文章的目的主要是感觉openGauss官网对企业版集群安装部署描述有些冗杂,对于初次接触openGauss的朋友可能会有点复杂,所以希望能编写一篇 5.0的安装部署文档,希望对openGuass初次接触的朋友也能照着这篇文章一次部署起来,如果在部署中对此文档有异议的地方,请联系我,我好进一步完善修改。
一、安装需求
集群环境各服务器应具有相同体系架构
- 64bit 和 32bit 不能同一集群
- ARM 和 x86 两类系统不能同一集群
1.1 硬件环境要求
集群环境openGauss各服务器应满足以下最低硬件需求,生产环境应根据业务需求适时调整硬件配置。
项目名称 | 配置描述 | 备注信息 |
服务器数量 | 4(台) | |
内存 | >=32(GB) | 性能及商业部署建议单机不低于128(GB) |
CPU | >= 1 * 8(核),2.0(GHz) | 性能及商业部署建议单机不低于1*16(核),2.0(GHz) |
硬盘 | > 1(GB) 存放openGauss应用程序 | 系统盘建议配置RAID1 |
网络 | >= 300(兆) 以太网 | 建议设置双网卡冗余bond |
1.2 操作系统要求
1.2.1 软件环境要求
软件类型 | 配置描述 | 备注信息 |
操作系统 | x86操作系统 | 生产建议选择CentOS 7系列 |
inode个数 | 剩余inode个数>15(亿) | |
工具 | bzip2 | |
Python | Python 3.6.X | python需要通过–enable-shared方式编译 |
1.2.2 软件依赖要求
所需软件 | 建议版本 | 备注信息 |
libaio-devel | 建议版本:0.3.109-13 | |
flex | 要求版本:2.5.31 以上 | |
bison | 建议版本:2.7-4 | |
ncurses-devel | 建议版本:5.9-13.20130511 | |
glibc-devel | 建议版本:2.17-111 | |
patch | 建议版本:2.7.1-10 | |
redhat-lsb-core | 建议版本:4.1 | |
readline-devel | 建议版本:7.0-13 |
二、集群规划
2.1 主机名称规划
主机名称 | 描述说明 |
xsky-node1 | 主节点服务器名称 |
xsky-node2 | 备节点一服务器名称 |
xsky-node3 | 备节点二服务器名称 |
xsky-node4 | 级联节点服务器名称 |
2.2 主机地址规划
IP地址 | 描述说明 |
10.110.7.39 | 主节点IP地址 |
10.110.7.40 | 备节点一IP地址 |
10.110.7.41 | 备节点二IP地址 |
10.110.7.42 | 级联节点IP地址 |
2.3 端口号规划
端口号 | 参数名称 | 描述说明 |
15300 | cmServerPortBase | 主CM Server端口号 |
15300 | cmServerPortStandby | 备CM Server端口号 |
26000 | dataPortBase | 数据库节点的基础端口号 |
2.4 用户及组规划
项目名称 | 名称 | 所属类型 | 规划建议 |
用户名 | omm | 操作系统 | 建议集群各节点密码及ID相同 |
组名 | dbgrp | 操作系统 | 建议集群各节点组ID相同 |
2.5 软件目录规划
目录名称 | 对应名称 | 目录作用 |
/opt/software/openGauss | software | 安装软件存放目录 |
/opt/gaussdb/install/app | gaussdbAppPath | 数据库安装目录 |
/var/log/omm | gaussdbLogPath | 日志目录 |
/opt/gaussdb/tmp | tmpMppdbPath | 临时文件目录 |
/opt/gaussdb/install/om | gaussdbToolPath | 数据库工具目录 |
/opt/gaussdb/corefile | corePath | 数据库core文件目录 |
/opt/gaussdb/data/cmserver | cmDir | CM数据目录 |
/opt/gaussdb/install/data/dn | dataNode | 数据库主备节点数据目录 |
三、环境准备
3.1 安装python
本次安装选择Python 3.6.10版本,使用–enable-shared方式编译。
3.2 安装软件依赖包
3.3 关闭防火墙
3.4 关闭SELinux
3.5 修改字符集
3.6 设置时区和时间
3.7 修改硬件时钟
3.8 关闭SWAP
3.9 设置网卡MTU
3.10 关闭透明大页
3.11 设置root用户远程登陆
3.12 配置SSH
3.13 添加hosts解析
3.14 调整系统内核参数
如下系统内核参数预安装时脚本未进行自动设置,需通过手工调整。
参数名称 | 参数说明 | 推荐取值 |
net.ipv4.tcp_retries1 | 在连接建立过程中TCP协议最大重试次数 | 5 |
net.ipv4.tcp_syn_retries | TCP协议SYN报文最大重试次数 | 5 |
net.ipv4.tcp_synack_retries | TCP协议SYN应答报文最大重试次数 | 5 |
net.ipv4.ip_local_port_range | 物理机可用临时端口范围 | 26000-65535 |
net.ipv4.tcp_fin_timeout | 系统默认的超时时间 | 60 |
net.ipv4.tcp_sack | 此参数用于启用或禁用TCP的SACK功能,SACK允许接收端向发送端告知它已经成功接收哪些数据包,从而提高TCP传输效率 | 1 |
net.ipv4.tcp_timestamps | 此参数用于启用或禁用TCP的时间戳功能,可提高TCP传输精度和效率 | 1 |
vm.overcommit_ratio | 此参数定义了内存过量分配的比例,当这个比例超过100%时,内核会允许进程分配超过实际可用内存的内存 | 90 |
vm.extfrag_threshold | 此参数定义了内存碎片的阈值,当内存碎片超过这个阈值时,内核会尝试进行碎片整理以提高内存利用率 | 500 |
3.15 创建目录
3.16 下载软件安装包
3.16.1 下载安装包
使用注册账号登录openGuass官网https://www.opengauss.org/zh/download/下载页面,下载与操作系统匹配的openGauss 5.0.0软件安装包,选择openGauss_5.0.0 企业版下载,并将下载的软件包上传至服务器/opt/software/openGauss目录下。
注:可用鼠标右键点击
然后选择“复制链接”,如数据库服务器可连外网,可在服务器上通过wget获取openGauss 5.0.0企业版软件安装包。
3.16.2 校验安装包
点击上图
后
,将复制的内容粘贴到文本文件,显示内容为:aa9fc724c5030f4cc79dad201675183029c8f36a07667028e681169a2f6482f5,然后将下载的文件通过sha256sum命令进行校验,已确保下载安装包完整性。
3.16.3 解压安装包
3.17 建立互信
此处使用脚本建立root互信,也可手工建立互信,建立互信前将集群各节点root用户设置为相同口令。
3.18 创建XML配置文件
四、执行安装
4.1 初始化安装
采用交互式进行初始化安装,创建omm用户并设置互信。
4.2 执行安装
4.3 数据库目录及含义
数据库安装完毕后,会生成如下相关目录,各目录及其含义如下:
项目目录说明 | 目录名称 | 子目录名称 | 描述说明 |
openGauss安装目录 | /opt/gaussdb/install/app | bin | 存放数据库二进制文件目录 |
etc | cgroup工具配置文件 | ||
include | 存放数据库运行所需要头文件 | ||
lib | 存放数据库库文件目录 | ||
share | 存放数据库运行所需要公共文件(如配置文件模板) | ||
openGauss数据目录 | /opt/gaussdb/install/data/dn | / | dbnode实例数据目录 |
openGauss日志目录 | /var/log/omm/omm | bin | 二进制程序的日志目录 |
gs_profile | 数据库内核性能日志目录 | ||
om | om日志目录 | ||
pg_audit | 数据库审计日志目录 | ||
pg_log | 数据库节点实例运行日志目录 | ||
openGauss系统工具目录 | /opt/gaussdb/install/om | script | openGauss用户管理脚本文件目录 |
lib | bin目录下二进制文件依赖库文件目录 | ||
openGauss临时文件目录 | /opt/gaussdb/tmp | 存放临时文件目录 |
4.4 安装验证
4.4.1 检查数据库集群状态
4.4.2 连接数据库测试
4.4.3 创建数据库
五、附录
5.1 Failed to check hostname mapping
**问题描述:**数据库初始化安装时有时会遇到如下报错:
**问题原因:**如果在服务器上手工安装了pssh包,安装后的pssh是不提供 -s 参数选项的,如下所示
而在主节点执行了gs_preinstall后,会重新安装新的pssh,手工安装的pssh和执行初始化安装的pssh文件大小是不同的,版本不同,且数据库初始化安装的pssh提供 -s 参数,而手工安装的pssh是不提供 -s 参数的,由于主备环境pssh不一致,导致pssh校验主机名时报错。
**解决办法:**解决办法就是将其它备节点/usr/bin/pssh或/use/local/bin/pssh改名或删除,使用主节点初始化gs_preinstall默认提供的pssh文件,该操作无需人工干预。
5.2 libpython3.6m.so.1.0文件缺失
**问题描述:**执行数据库初始化或者执行python3命令时,会遇到如下报错:
**问题原因:**如果服务器上曾安装过不同python3版本数据库,由于环境设置或被修改,可能导致提示libpython3.6m.so.1.0文件缺失。
解决办法:使用root用户执行find / -name "libpython3.6m.so.1.0"查找文件所在位置,比如/usr/local/python3/lib/libpython3.6m.so.1.0,然后将此文件拷贝到/usr/lib64目录下即可。
5.3 vm.overcommit_memory设置问题
**问题描述:**在执行数据库初始化时遇到如下报Abnormal问题:
**问题原因:**初始化安装时建议将vm.overcommit_memory修改为0,而当前值为2,原因是因为官方文档里提示设置vm.overcommit_ratio值时,需当vm.overcommit_memory=2时此参数生效,如果在/etc/sysctl.conf里设置了vm.overcommit_memory=2其实是和数据库初始化建议值存在矛盾。
解决办法:不要手工在/etc/sysctl.conf里设置vm.overcommit_memory值,利用数据库初始化自动设置该值。
文章转载自公众号:openGauss
