ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

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

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 个节点上,任一台故障不影响数据完整性。
返回列表