【超详细实战】GBase8a MPP Cluster 3节点集群从零安装部署(保姆级避坑完整版)

📅 发布时间:2026/10/16 6:40:27
【超详细实战】GBase8a MPP Cluster 3节点集群从零安装部署(保姆级避坑完整版)
一、前言本人电脑原本已经通过VMware Workstation搭建了一套GBase8a 单机版数据库环境日常用于基础 SQL 练习、简单数据库测试该环境已经稳定可用、积累了自己的练习数据为了不破坏、不覆盖、不丢失原有单机环境我决定全新搭建一套独立虚拟环境专门用来学习GBase8a MPP 集群版。因此本次集群部署全程采用VirtualBox 官方OVA镜像全新环境与原有VMware单机环境完全隔离、互不干扰一台电脑同时保留「单机学习环境 三节点集群学习环境」非常适合从零学习国产分布式GBase8a集群、熟悉分片机制、集群架构。本文完全基于本人真实电脑实操全过程从 VirtualBox 软件下载、安装配置、GBase8a OVA镜像导入、三台虚拟机完整克隆、系统环境初始化、集群完整部署、分片配置、全程踩坑排错一步不漏完整记录。新手零基础跟着本文操作即可成功搭建可用的GBase8a MPP三节点集群。二、个人电脑整体环境说明原有旧环境保留不改动虚拟机软件VMware Workstation数据库版本GBase8a 单机版用途日常基础SQL练习、单库单表测试状态保留使用本次部署完全不触碰此环境本次全新部署环境集群版虚拟机软件VirtualBox全新独立环境与VMware互不冲突数据库版本GBase8a MPP Cluster 集群版集群架构三节点对等部署每节点同时承担协调数据角色用途学习分布式分片、集群容灾、MPP架构宿主机硬件系统Windows 10 / 11内存12G磁盘固态G盘所有虚拟机全部存放G盘不占用C盘⚠️ 超级重要硬性条件本次实操核心坑GBase8a集群节点内存必须 ≥2.5GB如果虚拟机内存设置为2G安装过程不会报错、能安装成功但最后启动gcluster/gbase服务必定报错、数据库起不来。本人亲测2G内存启动服务失败、2.5G及以上内存集群服务完全正常。本次集群IP规划虚拟机名称IP地址节点角色8ah1192.168.56.101协调节点数据节点8ah2192.168.56.102协调节点数据节点8ah3192.168.56.103协调节点数据节点统一账号密码以本人真实环境为准系统root密码111111系统gbase用户密码gbase123数据库root密码默认空密码无密码安装目录/opt/gcinstall三、所需软件与镜像完整下载教程1、VirtualBox 虚拟机下载安装本次选择 VirtualBox 的核心原因轻量、免费、与VMware共存无冲突、适合多节点集群学习。官网下载地址https://www.virtualbox.org/下载选择Windows hosts最新版安装注意非常关键不要安装在C盘自定义安装路径到G:\VirtualBox安装完成后打开 VirtualBox点击顶部菜单管理(F)→ 全局设定 → 常规修改「默认虚拟电脑文件夹」为G:\VirtualBox_VMs目的所有新虚拟机全部存G盘杜绝C盘爆满配置集群专属仅主机网卡打开 VirtualBox 主界面点击顶部菜单管理(F)在下拉菜单里选择主机网络管理器(H)在弹出的窗口点击创建生成一张新的仅主机网卡默认名如VirtualBox Host-Only Ethernet Adapter选中刚创建的网卡点击属性或编辑在适配器选项卡的 IPv4 地址栏填192.168.56.1子网掩码填255.255.255.0切到DHCP服务器选项卡取消勾选「启用服务器」保存原因集群三台机器要用静态IP若DHCP开启会自动分配IP和手填的 192.168.56.101~103 冲突导致网络不通。配置完成后Windows 本机命令行执行ipconfig能看到192.168.56.1这张网卡即成功。2、GBase8a MPP OVA集群镜像下载OVA镜像为官方预置好CentOS7环境、依赖、安装包的模板镜像免去新手繁琐的系统初始化是学习集群最优方案。官方社区地址https://www.gbase.cn/community/参考部署教程https://blog.csdn.net/wiserhowe/article/details/118608321镜像大小约3.7G下载后存放至G盘备用。四、导入OVA模板虚拟机创建第一台节点 8ah1管理(F)→ 导入虚拟电脑选择下载好的GBase8a.ova关键修改解决后续服务启动报错虚拟机名称8ah1内存调整为 2560MB2.5G以上CPU2核存储路径G:\VirtualBox_VMs\8ah1MAC地址策略重新生成所有网卡MAC等待导入完成网卡绑定设置 → 网络 → 网卡1连接方式仅主机适配器选择刚刚创建的192.168.56.1网卡五、完整克隆三台集群节点8ah1、8ah2、8ah3重要规则必须关机状态克隆必须完整克隆不能链接克隆必须重新生成MAC地址否则集群IP冲突克隆步骤右键 8ah1 → 克隆新名称8ah2路径G盘独立目录MAC全部重新生成克隆类型完整克隆同理克隆出 8ah3三台克隆完成后每台虚拟机内存均为2.5G以上满足GBase8a集群硬性启动要求。最终得到三台完全独立、环境一致、内存达标的GBase8a集群节点虚拟机。六、三台虚拟机统一系统环境配置三台机器全部执行保证集群环境一致1、修改主机名hostnamectl set-hostname 8ah1 hostnamectl set-hostname 8ah2 hostnamectl set-hostname 8ah32、统一hosts解析所有节点执行vi/etc/hosts写入192.168.56.101 8ah1 192.168.56.102 8ah2 192.168.56.103 8ah33、配置静态IP三台机器分别操作先用命令查看本机网卡名一般是enp0s3或ens33ipaddr看到enp0s3:这样的名字就是你的网卡名记下来下面假设为enp0s3请以你实际看到的为准。修改网卡配置文件vi/etc/sysconfig/network-scripts/ifcfg-enp0s3改成如下内容以 8ah1 为例IP按各自节点替换TYPEEthernet BOOTPROTOstatic NAMEenp0s3 DEVICEenp0s3 ONBOOTyes IPADDR192.168.56.101 NETMASK255.255.255.0 GATEWAY192.168.56.1 DNS1192.168.56.1保存后重启网络systemctl restart network各节点 IP 对照8ah1192.168.56.101、8ah2192.168.56.102、8ah3192.168.56.103网关统一为192.168.56.1Host-Only网卡IP。配置完成后的连通性验证三台都配好后任意一台执行三台都要互相ping通ping-c4192.168.56.101ping-c4192.168.56.102ping-c4192.168.56.103全部能通代表静态IP配置成功。4、关闭防火墙 SELinuxsystemctl stop firewalld systemctl disable firewalld setenforce05、系统内核与文件句柄优化三台机器全部执行5.1 验证 swappiness 默认值先查看当前值sysctlvm.swappiness或cat/proc/sys/vm/swappiness输出1即为正常。说明GBase8a 官方建议该值为 1即尽量避免使用swap、防止数据库性能下降。本环境默认值就是 1只需确认即可无需修改。5.2 调高最大文件句柄数ulimit用 vi 打开配置文件vi/etc/security/limits.conf在文件末尾追加下面4行*表示对所有用户生效* soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535保存退出。需要重新登录终端断开重连才会生效。验证是否生效ulimit-n输出65535即代表生效。作用数据库会打开大量文件句柄默认值太小会导致too many open files报错。5.3 永久关闭透明大页Transparent Hugepage—— 修改 GRUB 引导参数最彻底说明GBase8a 对内存分配敏感关闭透明大页可减少内存碎片、提升稳定性。用 GRUB 引导参数方式在系统启动阶段就永久关闭重启不会恢复。步骤1编辑 GRUB 默认参数文件vi/etc/default/grub找到GRUB_CMDLINE_LINUX...这一行在引号末尾追加参数transparent_hugepagenever改成类似GRUB_CMDLINE_LINUXcrashkernelauto rd.lvm.lvcentos/root ... transparent_hugepagenever说明保留原来所有参数不动只在最后加一个transparent_hugepagenever用空格分隔。步骤2重新生成 GRUB 引导配置grub2-mkconfig-o/boot/grub2/grub.cfg说明这条命令把刚才的修改写入实际启动配置必须执行否则修改不生效。若系统为 UEFI 启动目标路径改为/boot/efi/EFI/centos/grub.cfg步骤3重启生效并验证reboot重启后执行cat/sys/kernel/mm/transparent_hugepage/enabled输出never即为永久关闭成功重启后依然生效。6、新建gbase用户、解决passwd密码校验报错本人真实踩坑问题现象先执行useradd gbase创建用户紧接着使用交互式命令passwd gbase设置密码gbase123时CentOS密码复杂度策略校验不通过直接报错无法完成密码设置。报错原因CentOS7默认密码策略交互式passwd命令对密码复杂度校验严格gbase123无法通过交互式校验。解决方案先创建gbase用户再采用非交互式方式设置密码绕过密码复杂度校验useraddgbaseechogbase123|passwd--stdingbaseuseradd新建gbase用户echo | passwd --stdin方式直接写入密码不再触发交互式密码复杂度校验顺利完成密码配置。7、三台节点免密互通配置切换gbase用户配置免密su- gbase ssh-keygen-trsa ssh-copy-id gbase192.168.56.101 ssh-copy-id gbase192.168.56.102 ssh-copy-id gbase192.168.56.103测试免密登录无需输入密码即为成功。七、GBase8a MPP 三节点集群正式安装1、进入安装目录su- gbasecd/opt/gcinstall2、修改集群安装配置文件 demo.optionsvidemo.options完整配置内容installPrefix /opt coordinateHost 192.168.56.101,192.168.56.102,192.168.56.103 dataHost 192.168.56.101,192.168.56.102,192.168.56.103 gcwareHost 192.168.56.101,192.168.56.102,192.168.56.103 dbaUser gbase dbaGroup gbase dbaPwd gbase123 rootPwd 111111 #dbPort 5258 ##sshPort 22参数说明参数含义installPrefix安装根目录本文为 /optcoordinateHost协调节点gcluster所在主机列表dataHost数据节点gnode所在主机列表gcwareHost集群管理服务gcware所在主机列表dbaUser / dbaGroup安装运行账号 gbasedbaPwdgbase 系统用户密码rootPwdroot 系统密码本文 111111#dbPort数据库端口 5258默认可注释##sshPortssh 端口 22默认可注释说明本环境三台节点同时是协调节点、数据节点、gcware节点角色对等所以三个 Host 列表填的是同一组 IP正好印证三节点对等架构。3、执行集群安装python gcinstall.py demo.options等待自动校验、分发文件、部署服务出现 install success 即集群安装完成。4、查看集群初始状态gcadmin刚安装完成状态3 free data node节点就绪无分片规则八、配置标准教学版分片p2d1 pattern1 官方课件标准重点顺序全网新手90%搞错先生成分片distribution → 再执行initnodedatamap1、修改机架配置文件 gcChangeInfo.xml默认一节点一机架会直接报错必须三节点合并为一个机架?xml version1.0 encodingutf-8?serversracknodeip192.168.56.101/nodeip192.168.56.102/nodeip192.168.56.103//rack/servers2、创建分片规则课件标准 p2 d1 pattern1gcadmin distribution gcChangeInfo.xml p2d1pattern1参数含义p 2每节点2个主分片d 1每个主分片带1个副本pattern1机架级高可用主副本跨节点容灾提示 successful 代表分片创建成功。3、查看全局分片分布gcadmin showdistributionnode4、数据库加载分片映射关键必执行登录命令数据库root默认空密码直接回车登录gccli-uroot-h192.168.56.101-P5258-p密码处直接回车默认无密码initnodedatamap;九、集群部署成功最终验证标准gcadmin集群状态 ACTIVE、NORMAL、所有服务 OPEN无 free node分片规则正常生成三节点互相免密互通、网络正常数据库可正常空密码登录、集群分片架构完整可用十、结语本次搭建全程采用VMware单机环境保留 VirtualBox全新集群环境的双环境学习方案既保护了自己长期使用的单机练习环境又成功搭建了标准三节点GBase8a MPP集群。文章记录的内存2.5G硬性要求、新建gbase用户密码校验报错解决、数据库空密码、机架报错、分片顺序错误都是亲手搭建才会遇到的实操坑点极具参考价值。本文适合所有想从零入门 GBase8a 国产数据库、练习集群运维的读者零基础可直接复刻成功。