在docker中模拟不同主机快速搭建GBase 8cV5集群环境

0    257    2

Tags:

👉 本文共约4371个字,系统预计阅读时间或需17分钟。

环境准备

申请环境

宿主机:32g内存,8g swap,需要保证每台机器至少4g内存+8g swap,否则不能安装。。。

IPhostname角色
172.72.3.30gbase8c_1gha_server(高可用服务)、dcs(分布式配置存储)、gtm(全局事务管理)、coordinator(协调器)
172.72.3.31gbase8c_2datanode(数据节点) 1
172.72.3.32gbase8c_3datanode(数据节点) 2

名词角色功能配置方式
GHA Server高可用(highavailability)管理器管理整个集群各节点的高可用状态,类似于patroni主备高可用架,主备之间可以配置同步或异步方式
DCS/HA Center集群状态管理器存储各个节点的高可用状态,负责在故障情况下判断集群各个节点状态。采用Raft的复制协议
GTM全局事务管理器(Global TransactionManager)负责生成并维护全局时间戳,保证集群数据一致性主备高可用架构,主备之间可以配置同步或异步方式
CN/Coordinator协调器对外提供接口,负责进行SQL解析和优化、生成执行计划,并协调数据节点进行数据查询和写入。采用完全对等的部署方式
DN/Datanode数据节点用于处理存储本节点相关的元数据以及所在的业务数据的分片。主备高可用架构,主备之间可以配置同步或异步方式

环境配置

增加swap空间并调整swap配置

若内存为4g或更小,则需要增加swap空间,并增加swappiness参数,否则内存耗尽,系统会很卡,导致集群状态不对:

每台机器内存至少4G,且需要配置swap 8G,否则会报错“Failed to initialize the memory protect for g_instance.attr.attr_storage.cstore_buffers (1024 Mbytes) or shared memory (4496 Mbytes) is larger.” 、“could not create shared memory segment: Cannot allocate memory”、“This error usually means that openGauss's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter. You can either reduce the request size or reconfigure the kernel with larger SHMALL. To reduce the request size (currently 1841225728 bytes), reduce openGauss's shared memory usage, perhaps by reducing shared_buffers.”

也可以修改参数:

所有节点安装依赖包

修改主机名

注意修改三个节点的 IP 地址,这里我使用如下三个 IP,并分别修改 hostname。

docker的话可以不用管。

修改内核参数

若kernel.shmmax配置过小,会报共享内存相关的错误:

FATAL: could not create shared memory segment: Invalid argument
DETAIL: Failed system call was shmget(key=6666001, size=4714683328, 03600).
HINT: This error usually means that openGauss's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently 4714683328 bytes), reduce openGauss's shared memory usage, perhaps by reducing shared_buffers.
If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.
The openGauss documentation contains more information about shared memory configuration.

所有节点创建用户

配置互信

以root用户只在主节点操作:

解压安装包

只在主节点操作,解压安装包 GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz

示例:

开始安装

只在主节点操作。

编辑集群部署文件 gbase8c.yml

  • gbase.yml 修改如下

执行安装脚本

注释:

-c 参数:数据库名称,默认 gbase
-p 参数:配置文件路径,默认 /home/gbase

-f参数:若集群已存在,可以强制安装

安装日志位置

执行时间约 5 分钟,安装结束后,脚本会提示:

集群安装成功!

状态检查

执行

结果如下,说明集群安装正常,数据服务启动中

数据库启停

停止数据库服务

启动数据库服务

连接和 SQL 测试

在主节点 gbase8c_1 执行 $ gsql -d postgres -p 5432,出现 postgres=# 操作符说明客户端工具 gsql 成功连接 GBase 8c 数据库。

卸载集群

在主节点(172.72.3.30)执行以下命令

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复