CentOS 7.9 安装 openGauss 2.1.0 之剥茧抽丝

CentOS 7.9 安装 openGauss 2.1.0 之剥茧抽丝

问天的天问 2021/12/23

本文是在参考官方的安装文档后,提取总结出的关键安装步骤。

[1] 基础环境安装

复制代码
# timedatectl set-timezone Asia/Shanghai
# hostnamectl set-hostname gauss01

# nmcli con mod enp0s3 ipv4.method manual ipv4.address ***.***.***.***31/24
# nmcli con mod enp0s3 ipv4.gateway ***.***.***.***
# nmcli con mod enp0s3 ipv4.dns ***.***.***.***
# nmcli con mod enp0s3 connection.autoconnect yes

[2] Disable SElinux

复制代码
# sed -i 's@\(^SELINUX=\).*@\1disabled@g' /etc/selinux/config

[3] Disable Firewall

复制代码
# systemctl disable firewalld

[4] Disable Transparent HugePages

复制代码
# sed -i '/linux16.*$/s//& transparent_hugepage=never/g' /boot/grub2/grub.cfg

Reboot and Confirm
# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

[5] 文件句柄设置

复制代码
# cat >> /etc/security/limits.conf << EOF

*`echo -e "\t"`soft`echo -e "\t"`nofile`echo -e "\t"`1000000
*`echo -e "\t"`hard`echo -e "\t"`nofile`echo -e "\t"`1000000
EOF

[6] 网卡设置

在网卡配置文件中最后一行添加 MTU=8192

复制代码
# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
......
MTU=8192

[7] 修改默认版本号

复制代码
# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
修改为
CentOS Linux release 7.6.1810 (Core)

[8] 系统参数

在内核方面,官方给出的建议值基本上与系统 CentOS 7.9 的默认值相同,不相同的只有 4 项,如下:

  • net.ipv4.tcp_retries1
  • net.ipv4.tcp_syn_retries
  • net.ipv4.ip_local_port_range
  • vm.overcommit_ratio

根据实际情况判定是否需要修改。

[9] 安装 python

复制代码
# yum install -y python36

[10] 安装软件包

官方建议软件包

复制代码
# yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb readline-devel

个人建议软件包

复制代码
# yum install -y bzip2 net-tools lrzsz

[11] 关闭 RemoveIPC

CentOS 默认关闭,无需要配置。

[12] 创建组和用户

组和用户都可以不用提前创建,在安装时会自动创建。

[13] 解压安装包

复制代码
# mkdir -p /opt/software/openGauss
# chmod 755 -R /opt/software
# cd /opt/software/openGauss

上传源码 openGauss-2.1.0-CentOS-64bit-all.tar.gz 并解压
# tar -zxvf openGauss-2.1.0-CentOS-64bit-all.tar.gz
# tar -zxvf openGauss-2.1.0-CentOS-64bit-om.tar.gz

[14] 编辑配置脚本

复制代码
# cp script/gspylib/etc/conf/cluster_config_template.xml cluster_config.xml
# vi /opt/software/openGauss/cluster_config.xml
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="dbCluster" />
<PARAM name="nodeNames" value="gauss01"/>
<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="***.***.***.***71"/>
</CLUSTER>

<DEVICELIST>
<DEVICE sn="node1_hostname">
<PARAM name="name" value="gauss01"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="***.***.***.***71"/>
<PARAM name="sshIp1" value="***.***.***.***71"/>
<!-- dn -->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn1"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>

</DEVICELIST>
</ROOT>

根据实际情况进行相应修改。

[15] 执行安装和初始化

以 root 用户安装,安装脚本自行创建 dbgrp 组和 omm 用户

复制代码
# cd script
# python3 gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml

以 omm 用户初始化数据库

复制代码
# chown -R omm:dbgrp /opt/software/openGauss
# su - omm
$ gs_install -X /opt/software/openGauss/cluster_config.xml

初始化成功后连接数据库

复制代码
$ gsql -d postgres -p 15400
gsql ((openGauss 2.1.0 build 590b0f8e) compiled at 2021-09-30 14:29:04 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=#

其中,postgres 为需要连接的数据库名称,15400 为数据库节点的端口号,即 cluster_config.xml 配置文件中的 dataPortBase 的值。

[16] 卸载 openGauss

复制代码
# su - omm
$ gs_uninstall --delete-data
命令卸载并不全面,还需要手工删除,也可不经命令卸载直接手工删除。
# userdel -r omm
# groupdel dbgrp
# rm -rf /opt/software /opt/huawei
# rm -rf /var/log/omm
相关推荐
cxr8285 小时前
自动化知识工作AI代理的工程与产品实现
运维·人工智能·自动化
·云扬·5 小时前
从零开始搭 Linux 环境:VMware 下 CentOS 7 的安装与配置全流程(附图解)
linux·运维·centos
btyzadt8 小时前
虚拟机蓝屏问题排查与解决
linux·运维·网络
G_H_S_3_9 小时前
【网络运维】Shell 脚本编程:while 循环与 until 循环
linux·运维·网络·shell
张鱼小丸子10 小时前
MySQL企业级部署与高可用实战
运维·数据库·mysql·云原生·高可用·mha·组从复制
coderklaus10 小时前
Shell 基础知识
linux·macos·shell
争不过朝夕,又念着往昔10 小时前
即时通讯项目---网关服务
linux·c++·vscode
时空自由民.11 小时前
linux下camera 详细驱动流程 OV02K10为例(chatgpt版本)
linux·运维·服务器
码界奇点11 小时前
Python内置函数全解析:30个核心函数语法、案例与最佳实践指南
linux·服务器·python
The_Second_Coming11 小时前
Linux 学习笔记 - 集群管理篇
linux·笔记·学习