news 2026/8/6 8:24:57

Gbase【安装篇】02:RedHat7.9【三节点】安装GBase 8a MPP Cluster数据库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Gbase【安装篇】02:RedHat7.9【三节点】安装GBase 8a MPP Cluster数据库

一、安装前准备

1.1 环境信息

项目信息
操作系统Red Hat Enterprise Linux Server 7.9 (Maipo)
数据库版本GBase 8a MPP Cluster 9.5.3.28.12
安装包GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2
安装用户gbase
安装路径/opt
数据端口5258
超级用户root(默认无密码)
节点 IP192.168.255.131 / 192.168.255.132 / 192.168.255.133
root 密码maxs.PDG~2022
gbase 密码gbase
部署模式三节点(Coordinator + Data + Gcware 同机部署)
以下操作仅在 131 节点以 root 用户执行。

1.2 安装包下载

官网下载

https://www.gbase.cn/download/gbase-8a?category=INSTALL_PACKAGE


网盘下载

链接: https://pan.baidu.com/s/1Y5VCdgZ5legvzTOUAibFJg?pwd=r4ad 提取码: r4ad

1.3 上传安装包

将安装包上传至 131 节点的/root目录:

[root@redhat-7-9 ~]# ll-rw-r--r--.1root root1544729228516:36 GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2

1.4 验证网络互通

ping-c2192.168.255.132&&ping-c2192.168.255.133

1.5 解压安装包

tarxjf /root/GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2-C/opt/

解压后生成gcinstall目录:

[root@redhat-7-9 ~]# ls /opt/gcinstall

1.6 创建 gbase 用户(131 节点)

useraddgbase&&echo"gbase:gbase"|chpasswd

1.7 分发安装包到其他节点

scp-r/opt/gcinstall192.168.255.132:/opt/scp-r/opt/gcinstall192.168.255.133:/opt/


scp 连接时输入 root 密码maxs.PDG~2022,首次连接需输入yes确认。

1.8 在三台节点创建用户并执行环境配置

在 131 上通过 SSH 远程执行 132、133,同时本机也执行。

# 132 节点sshroot@192.168.255.132"useradd gbase && echo 'gbase:gbase' | chpasswd && chown -R gbase:gbase /opt/gcinstall /opt && python /opt/gcinstall/SetSysEnv.py --dbaUser=gbase --installPrefix=/opt"# 133 节点sshroot@192.168.255.133"useradd gbase && echo 'gbase:gbase' | chpasswd && chown -R gbase:gbase /opt/gcinstall /opt && python /opt/gcinstall/SetSysEnv.py --dbaUser=gbase --installPrefix=/opt"# 131 本机chown-Rgbase:gbase /opt/gcinstall /opt&&python /opt/gcinstall/SetSysEnv.py--dbaUser=gbase--installPrefix=/opt

SetSysEnv.py脚本会自动配置内核参数、创建必要目录、设置系统环境等。

二、安装集群

2.1 编辑安装配置文件

切换到 gbase 用户,编辑demo.options

su- gbasevi/opt/gcinstall/demo.options

三节点配置内容:

installPrefix = /opt coordinateHost = 192.168.255.131,192.168.255.132,192.168.255.133 coordinateHostNodeID = 131,132,133 dataHost = 192.168.255.131,192.168.255.132,192.168.255.133 gcwareHost = 192.168.255.131,192.168.255.132,192.168.255.133 gcwareHostNodeID = 131,132,133 dbaUser = gbase dbaGroup = gbase dbaPwd = 'gbase' rootPwd = 'maxs.PDG~2022' #rootPwdFile = rootPwd.json #characterSet = utf8 #sshPort = 22

参数说明:

参数说明
installPrefix安装目录
coordinateHost调度节点(Coordinator)IP 列表,逗号分隔
coordinateHostNodeID各 Coordinator 节点 ID,与 IP 一一对应
dataHost数据节点 IP 列表
gcwareHost集群管理节点 IP 列表
gcwareHostNodeID各 Gcware 节点 ID,与 IP 一一对应
dbaUser / dbaGroupDBA 操作系统用户和组
dbaPwdDBA 用户密码,含特殊字符需单引号括起
rootPwdroot 用户密码,含特殊字符需单引号括起

2.2 执行安装脚本

在 131 节点上以 gbase 用户执行:

cd/opt/gcinstall&&python gcinstall.py--silent=demo.options

2.3 安装交互步骤

步骤提示操作
1. 许可协议Do you accept the above licence agreement输入Y
2. 资源管理Cgconfig service is not exist...continue输入Y
3. 确认节点Are you sure to install GCluster on these nodes输入Y
4. 安装进度自动分发安装到 3 个节点等待完成



2.4 安装完成

192.168.255.132 install gcware and cluster on host 192.168.255.132 successfully. 192.168.255.133 install gcware and cluster on host 192.168.255.133 successfully. 192.168.255.131 install gcware and cluster on host 192.168.255.131 successfully. Starting all gcluster nodes ... adding new datanodes to gcware ... InstallCluster Successfully

安装完成后各节点组件目录:

组件安装路径说明
GCluster/opt/gcluster调度节点程序
GNode/opt/gnode数据节点程序
Gcware/opt/gcware集群管理程序

三、初始配置

安装完成后,Data 节点处于 FreeNode 状态,需要创建 distribution 并初始化才能使用。

3.1 查看 gcChangeInfo.xml

安装包已根据demo.options自动生成,确认三个节点 IP 正确:

cat/opt/gcinstall/gcChangeInfo.xml

输出:

<?xml version="1.0" encoding="utf-8"?><servers><rack><nodeip="192.168.255.132"/></rack><rack><nodeip="192.168.255.131"/></rack><rack><nodeip="192.168.255.133"/></rack></servers>

3.2 创建 distribution

三节点部署,设置每节点 1 个主分片、1 个备份分片:

source~/.bash_profile gcadmin distribution /opt/gcinstall/gcChangeInfo.xml p1d1

参数说明:

  • p 1:每个节点 1 个主分片
  • d 1:每个分片 1 个备份(数据分布在另外节点)

输出:

NOTE: node [192.168.255.132] is coordinator node, it shall be data node too NOTE: node [192.168.255.131] is coordinator node, it shall be data node too NOTE: node [192.168.255.133] is coordinator node, it shall be data node too gcadmin generate distribution successful

3.3 初始化集群

gccli-uroot

进入客户端后执行:

initnodedatamap;


输出:

Query OK, 1 row affected (Elapsed: 00:00:02.05)

此命令只需执行一次,重复执行会报nodedatamap is already initialized


四、验证集群

4.1 查看集群状态

source~/.bash_profile&&gcadmin

输出:

CLUSTER STATE: ACTIVE VIRTUAL CLUSTER MODE: NORMAL ======================================= | GBASE GCWARE CLUSTER INFORMATION | ======================================= | NodeName | IpAddress | gcware | --------------------------------------- | gcware1 | 192.168.255.131 | OPEN | --------------------------------------- | gcware2 | 192.168.255.132 | OPEN | --------------------------------------- | gcware3 | 192.168.255.133 | OPEN | --------------------------------------- ========================================================= | GBASE COORDINATOR CLUSTER INFORMATION | ========================================================= | NodeName | IpAddress | gcluster | DataState | --------------------------------------------------------- | coordinator1 | 192.168.255.131 | OPEN | 0 | --------------------------------------------------------- | coordinator2 | 192.168.255.132 | OPEN | 0 | --------------------------------------------------------- | coordinator3 | 192.168.255.133 | OPEN | 0 | --------------------------------------------------------- ================================================================== | GBASE DATA CLUSTER INFORMATION | ================================================================== | NodeName | IpAddress | DistributionId | gnode | DataState | ------------------------------------------------------------------ | node1 | 192.168.255.132 | 1 | OPEN | 0 | ------------------------------------------------------------------ | node2 | 192.168.255.131 | 1 | OPEN | 0 | ------------------------------------------------------------------ | node3 | 192.168.255.133 | 1 | OPEN | 0 | ------------------------------------------------------------------

4.2 查看数据分布

gcadmin showdistribution

4.3 连接测试

gccli-uroot
-- 查看版本SELECTversion();-- 创建数据库CREATEDATABASEtest;-- 查看数据库列表SHOWDATABASES;-- 切换数据库并建表测试USEtest;CREATETABLEt1(idINT,nameVARCHAR(50),create_timeDATETIME);INSERTINTOt1VALUES(1,'hello',NOW());INSERTINTOt1VALUES(2,'gbase',NOW());SELECT*FROMt1;


五、常用命令

# 查看集群状态gcadmin# 查看 distribution 信息gcadmin showdistribution# 连接数据库(root 用户默认无密码)gccli-uroot# 连接数据库(指定用户和密码)gccli -u用户名 -p密码# 查看集群节点详情gcadmin showcluster

gccli 常用 SQL

-- 查看版本SELECTversion();-- 查看所有数据库SHOWDATABASES;-- 切换数据库USEdatabase_name;-- 查看所有表SHOWTABLES;-- 查看表结构DESCtable_name;-- 查看建表语句SHOWCREATETABLEtable_name;-- 查看当前连接SHOWPROCESSLIST;-- 查看服务器状态SHOWSTATUS;

六、关键文件和目录

文件/目录路径说明
安装配置/opt/gcinstall/demo.options集群安装参数配置
分布配置/opt/gcinstall/gcChangeInfo.xml数据分布配置文件
GCluster 目录/opt/gcluster调度节点程序
GNode 目录/opt/gnode数据节点程序
Gcware 目录/opt/gcware集群管理程序
环境变量~/.bash_profile安装脚本自动写入
GCluster 日志/opt/gcluster/log调度节点运行日志
GNode 日志/opt/gnode/log数据节点运行日志

七、卸载

在 131 节点上以 gbase 用户执行:

su- gbasecd/opt/gcinstall# 卸载集群(会在三个节点上同步卸载)python gcinstall.py--uninstall=demo.options

清理残留目录(每台节点均需以 root 执行):

rm-rf/opt/gcluster /opt/gnode /opt/gcware /opt/gcinstall

八、注意事项

  1. 必须使用 DBA 用户安装和运行:集群安装和管理必须使用dbaUser(如 gbase),不能使用 root 启动数据库服务。
  2. 所有节点必须创建同名 DBA 用户:gbase 用户需要在每台节点上存在且密码一致。
  3. SetSysEnv.py 必须在每个节点执行:使用 root 用户在所有节点执行该脚本,配置系统环境。
  4. 必须先创建 distribution 和 initnodedatamap:安装完成后 FreeNode 不能直接使用,否则 SQL 操作会报nodedatamap is not initialized
  5. root 用户默认无密码:首次登录后建议设置密码:SET PASSWORD FOR root = PASSWORD('新密码');
  6. Gcware 节点数必须为奇数:三节点部署可保证集群选举正常(1、3、5 等)。
  7. 资源管理组件(cgroup):如未安装 cgroup 相关包,安装时会提示,输入 Y 跳过不影响基本使用。
  8. 备份分片:三节点d 1表示每个主分片有 1 个备份,数据分布在 3 个节点上,任一台故障不影响数据完整性。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 8:24:39

Unity游戏开发规模化生产:组件化、数据驱动与预制体工作流实践

1. 项目概述与核心目标看到这个标题&#xff0c;相信很多对《空洞骑士》这款游戏着迷&#xff0c;同时又对Unity引擎抱有浓厚兴趣的朋友&#xff0c;都会心头一热。这不仅仅是一个简单的“跟做”教程&#xff0c;它触及了游戏开发中一个非常关键的阶段&#xff1a;从核心玩法验…

作者头像 李华
网站建设 2026/8/6 8:23:33

DeepSeek-V4-Pro API实战:与Claude、Kimi等大模型对比测试指南

这次我们来看一个近期在开发者社区引发高度关注的技术事件&#xff1a;DeepSeek-V4-Pro 正式版的发布&#xff0c;以及它与其他顶级大模型如 Claude Fable5、5.6Sol 和 Kimi K3 的初步对比。对于关心大模型前沿动态、特别是关注模型推理能力、代码生成和综合性能的开发者来说&a…

作者头像 李华
网站建设 2026/8/6 8:22:55

Bullet Physics 三维碰撞检测:从原理到工程实践

1. 从“撞上”到“检测”&#xff1a;三维碰撞检测的工程意义 在三维虚拟世界里&#xff0c;一个角色能否走上台阶&#xff0c;一颗子弹能否击中目标&#xff0c;一辆赛车是否会撞上护栏&#xff0c;这些看似简单的交互背后&#xff0c;都依赖着一套复杂而精密的计算系统——三…

作者头像 李华
网站建设 2026/8/6 8:22:24

UE5 DynamicMesh程序化地形生成:5分钟从高度图到可交互地形

1. 项目概述&#xff1a;为什么DynamicMesh是程序化地形的“快车道” 如果你正在用UE5做开放世界、沙盒游戏&#xff0c;或者任何需要大范围、可变化地形的项目&#xff0c;肯定对传统的地形系统又爱又恨。Landscape系统功能强大&#xff0c;但动辄几个G的导入数据、漫长的构建…

作者头像 李华
网站建设 2026/8/6 8:20:05

SQLException 全链路排查:从连接失败到死锁的实战解决方案

1. 从“数据库连接失败”到“数据不一致”&#xff1a;一个SQLException的完整排查手册 干了这么多年后端开发&#xff0c;最怕半夜被报警电话吵醒&#xff0c;而十有八九&#xff0c;问题都出在数据库上&#xff0c;日志里躺着一个刺眼的 SQLException 。这玩意儿就像程序世…

作者头像 李华
网站建设 2026/8/6 8:17:04

3步搞定游戏翻译:XUnity.AutoTranslator终极指南

3步搞定游戏翻译&#xff1a;XUnity.AutoTranslator终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为心爱的日本游戏看不懂而烦恼吗&#xff1f;是否曾经因为语言障碍而错过精彩的剧情&…

作者头像 李华