一、opengauss 的背景和行业现状
2022 年,七大 openGauss 商业版发布,是基于 openGauss3.0 推出商业发行版
目前海量数据库 Vastbase 表现最佳,一直是 TOP 1
作者认为之所以海量数据库 Vastbase 目前无法被同行超越,和各家研发实力和技术背景有关
众所周知,opengauss 起源于 postgresql,在此基础上做了改良
海量数据库从 postgresql 就已经开始做商业版,一直做到 opengauss,经验最丰富,其他产品例如 MongoDB 是紧随其后 (在此不讨论其存在的意义),目前产品百花齐放,更显锦上添花
Vastbase G100 采用业界证明稳定高效的日志流复制技术实现集群内主备库的数据和状态传输,
并通过一主多备的部署和配置架构实现了多点可读、数据不丢失、异地灾备等关键高可用场景。
二、实验设计背景
本实验是单机openGauss3.0.0新增从库or重搭从库,形成主从。
因为直接部署一套主从太简单了,而且在使用过程中,从库故障需要重新搭建从库,或者需要新增从库,这个时候由于数据库已经上线了,只能在原有基础上进行延申配置。
本实验也同样适用于最初搭建主从环境的情况,先搭建一个主库交付,再配置多个从库,所以本实验适用于所有openGauss主从搭建、运维、管理场景。
实验环境:华为云服务器2台
规格:通用计算增强型 | c7.xlarge.4 | 4vCPUs | 16GiB
镜像:openEuler 20.03 64bit |公共镜像
三、搭建单机opengauss
3.1获取openGauss-3.0.0安装包
[root@master ~]# wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/x86_openEuler/openGauss-3.0.0-openEuler-64bit-all.tar.gz
3.2设置字符集
[root@master ~]# vim /etc/profile
添加
export LANG=en_US.UTF-8
3.3关闭swap交换内存(可选)
[root@master ~]# swapoff -a
3.4关闭RemoveIPC
[root@master ~]# vim /etc/systemd/logind.conf
RemoveIPC=no
[root@master ~]# vim /usr/lib/systemd/system/systemd-logind.service
RemoveIPC=no
重新加载
[root@master ~]# systemctl daemon-reload
[root@master ~]# systemctl restart systemd-logind
检查是否生效
[root@master ~]# loginctl show-session | grep RemoveIPC
RemoveIPC=no
[root@master ~]# systemctl show systemd-logind | grep RemoveIPC
RemoveIPC=no
3.5修改主机名
[root@master ~]# cat /etc/hostname
master
[root@master ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.12 master
3.6解压软件包
[root@master ~]# mkdir -p /data/openGauss/
[root@master ~]# tar -zxvf openGauss-3.0.0-openEuler-64bit-all.tar.gz -C /data/openGauss/
openGauss-3.0.0-openEuler-64bit-cm.tar.gz
openGauss-3.0.0-openEuler-64bit-om.tar.gz
openGauss-3.0.0-openEuler-64bit.tar.bz2
openGauss-3.0.0-openEuler-64bit-cm.sha256
openGauss-3.0.0-openEuler-64bit-om.sha256
openGauss-3.0.0-openEuler-64bit.sha256
upgrade_sql.tar.gz
upgrade_sql.sha256
3.7创建用户组和用户
[root@master ~]# groupadd dbgroup
[root@master ~]# useradd -g dbgroup omm
[root@master ~]# passwd omm
Changing password for user omm.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
3.8配置操作系统参数
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_retries2 = 12
vm.overcommit_memory = 0
net.ipv4.tcp_rmem = 8192 250000 16777216
net.ipv4.tcp_wmem = 8192 250000 16777216
net.core.wmem_max = 21