openGauss 6.0.0 一主二备集群安装及使用zcbus实现Oracle到openGauss的数据全量和增量同步

2024年 6月 12日 65.3k 0

一、前言

openGauss 6.0.0-RC1是openGauss 2024年3月发布的创新版本,该版本生命周期为0.5年。根据openGauss官网介绍,6.0.0-RC1与之前的版本特性功能保持兼容,另外,在和之前版本兼容的基础上增加了很多新功能,比如分区表性能优化、支持多语言日志、支持SPQ多机并行查询框架、MySQL迁移及兼容性增强、特别是为DataKit增加了很多新特性,并且修复了很多CVE漏洞。

https://docs-opengauss.osinfra.cn/zh/docs/6.0.0-RC1/docs/ReleaseNotes/版本介绍.html,官网这个页面对于openGauss 6.0.0-RC1对于版本继承和新增功能有详细的介绍。

在安装部署方面,openGauss 6.0.0提供了一站式交互式安装功能,极大简化了安装流程,降低了用户学习成本。

根据openGauss官网介绍,openGauss版本号采用点分位命名规则(XX.Y.0)模式,创新版在版本号后增加“-RCx”表示。其中XX.0.0表示LTS版本,Y表示补丁版本,XX.0.0-RCx表示创新版本。正常每两年发布一个LTS版本,创新版本供用户联创测试使用;LTS版本作为长期支持版本,可规模上线使用。涉及重大问题修复时,会按需发布补丁版本。

openGauss生命周期初步规划为:

  • LTS版本发布间隔周期2年,社区提供3年维护支持。
  • 创新版本发布间隔周期0.5年,社区提供0.5年维护支持。

之前我曾体验过openGauss 5.0的集群安装部署,这次我希望再尝试下6.0的安装部署,另外也希望通过一款名叫zcbus的迁移工具,迁移Oracle 数据到OpenGauss 6.0.0。

二、安装准备

2.1 安装需求

集群环境各服务器应具有相同体系架构,比如要满足如下一些需求:

  • 64bit 和 32bit 不能同一集群
  • ARM 和 x86 两类系统不能同一集群

2.2 安装流程

openGauss的安装基于以下流程。

openGauss 6.0.0 一主二备集群安装及使用zcbus实现Oracle到openGauss的数据全量和增量同步-1

2.3 硬件环境要求

集群环境openGauss各服务器应满足以下最低硬件需求,生产环境应根据业务需求适时调整硬件配置,本次采用三台x86服务器、选用CentOS 7.9系统部署OpenGauss 6.0.0一主二备集群。

项目名称 配置描述 备注信息
服务器数量 3(台)
内存 >=32(GB) 功能调试建议32GB以上,性能及商业部署建议单机不低于128(GB)
CPU >= 1 * 8(核),2.0(GHz) 性能及商业部署建议单机不低于1*16(核),2.0(GHz)
支持超线程和非超线程两种模式,建议选择相同模式
硬盘 > 1(GB) 存放openGauss应用程序
> 300(MB) 存放元数据
> 70(%) 存储空间存放数据库数据
用于安装openGauss的硬盘需最少满足如下要求:

至少1GB用于安装openGauss的应用程序。
每个主机需大约300MB用于元数据存储。
预留70%以上的磁盘剩余空间用于数据存储。
建议系统盘配置为RAID1,数据盘配置为RAID5,且规划4组RAID5数据盘用于安装openGauss。

网络 >= 300(兆) 以太网 建议设置双网卡冗余bond

2.4 操作系统要求

2.4.1 软件环境要求

软件类型 配置描述 备注信息
操作系统 x86操作系统
CentOS 7.6及以上
生产建议选择CentOS 7系列
inode个数 剩余inode个数>15(亿)
工具 bzip2
Python Python 3.6.X python需要通过–enable-shared方式编译

2.4.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.5、集群规划

2.5.1 主机名称规划

主机名称 描述说明
xsky-node1 主节点hostname
xsky-node2 备节点一hostname
xsky-node3 备节点二hostname

2.5.2 主机地址规划

IP地址 描述说明
10.110.7.39 主节点IP地址
10.110.7.40 备节点一IP地址
10.110.7.41 备节点二IP地址

2.5.3 端口号规划

端口号 参数名称 描述说明
15000 cmServerPortBase 主CM Server端口号
15400 cmServerPortStandby 数据库主节点端口号

2.5.4 用户及组规划

项目名称 名称 所属类型 规划建议
用户名 omm 操作系统 建议集群各节点密码及ID相同
组名 dbgrp 操作系统 建议集群各节点组ID相同

2.5.5 软件目录规划

相较于5.0,openGauss 6.0.0配置文件xml目录设置选项大大减少。

另外官网也提供了诸如xlog的目录可选参数dataNodeXlogPath。

目录名称 对应名称 目录作用
/opt/huawei/data/cmserver cmdir CM数据文件路径。保存CM Server和CM Agent用到的数据文件,参数文件等。
/opt/huawei/install/data/dn dataNode1 数据库主节点上的数据目录,及备机数据目录

2.6、软件环境准备

2.6.1 安装python3

openGauss 6.0.0安装需要python环境,并且对python版本有一定要求,并要求所有节点都要安装部署python环境。

本次安装选择python 3.6.10版本,使用–enable-shared方式编译。

# root用户执行【所有节点】
-- 安装依赖包
[root@xsky-nodexxx ~]# yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
-- 创建安装目录
[root@xsky-nodexxx ~]# mkdir /usr/local/python3
[root@xsky-nodexxx ~]# cd /home/soft
-- 如服务器可以连接网络,可通过wget获取安装包,如无法联网,可下载安装包并上传至服务器
[root@xsky-nodexxx soft]# wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tar.xz
-- 解压源码包
[root@xsky-nodexxx soft]# tar xvJf Python-3.6.10.tar.xz
[root@xsky-nodexxx soft]# cd Python-3.6.10
-- 配置编译参数
[root@xsky-nodexxx Python-3.6.10]# ./configure --prefix=/usr/local/python3 --enable-optimizations --enable-shared CFLAGS=-fPIC --with-ssl
-- 执行安装
[root@xsky-nodexxx Python-3.6.10]# make && make install
-- 创建链接
[root@xsky-nodexxx Python-3.6.10]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
-- 检验python版本
[root@xsky-nodexxx ~]# python3
Python 3.6.10 (default, Jul 12 2023, 17:08:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

2.6.2 安装软件依赖包

openGauss 6.0.0的安装需要一些软件依赖包。

如果服务器可以联网,可通过配置yum源进行安装,若无法连接外网,可通过挂在iso文件,配置内部yum源进行安装。

# root用户执行【所有节点】
[root@xsky-nodexxx ~]# yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel zlib readline
-- 检查是否已安装
[root@xsky-nodexxx ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep -E "libaio-devel|flex|bison|ncurses-devel|glibc-devel|patch|redhat-lsb-core|readline-devel|zlib|readline|expect"

2.7 修改操作系统配置

2.7.1 关闭操作系统防火墙

建议对各安装节点关闭操作系统防火墙,若有特殊需求需要开启操作系统防火墙,可根据openGauss相关服务及协议,将相应IP和端口号添加至openGauss节点主机防火墙白名单中。

# root用户执行【所有节点】
-- 停止 firewalld 服务
[root@xsky-nodexxx ~]# systemctl stop firewalld.service
-- 禁用 firewalld 服务
[root@xsky-nodexxx ~]# systemctl disable firewalld.service
-- 查看 firewalld 服务状态
[root@xsky-nodexxx ~]# systemctl status firewalld
-- 显示如下表示已关闭禁用防火墙
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

2.7.2 关闭SELinux

通常会选择关闭操作系统selinux服务,可通过如下方式关闭各节点selinux服务。

# root用户执行【所有节点】
-- 临时关闭SELinux
[root@xsky-nodexxx ~]# setenforce 0
-- 永久关闭SELinux
[root@xsky-nodexxx ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
-- 检查SELinux状态
[root@xsky-nodexxx ~]# getenforce
-- 状态为Disabled表明SELinux已关闭
Disabled

2.7.3 修改字符集

建议将各数据库节点设置为相同字符集,比如,采用如下方式,设置字符集为UTF8。

# root用户执行【所有节点】
[root@xsky-nodexxx ~]# cat>> /etc/profile/etc/ssh/sshd_config /etc/ssh/sshd_config
[root@xsky-nodexxx ~]# echo "Banner none " >> /etc/ssh/sshd_config
# 修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行
[root@xsky-nodexxx ~]# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
[root@xsky-nodexxx ~]# cat /etc/ssh/sshd_config |grep -v ^#|grep -E 'PermitRootLogin|Banner'
-- 重启生效
[root@xsky-nodexxx ~]# systemctl restart sshd.service
-- 查看SSH状态
[root@xsky-nodexxx ~]# systemctl status sshd.service

2.7.9 添加hosts解析

# root用户执行【所有节点】
[root@xsky-nodexxx ~]# cat >> /etc/hosts

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论