GBase 8a
安装配置
文章
精选

【GDCP认证班教材】GBase 8a MPP Cluster V953 虚拟集群的安装和卸载

发表于2026-02-02 15:27:25164次浏览6个评论
  • 一、集群节点环境设计

  • 二、安装前准备工作

  • 三、集群的安装

    • 1、在集群所有节点上创建DBA用户

    • 2、在集群所有节点上创建安装目录并授权

    • 3、安装包解压缩

    • 4、系统环境初始化

    • 5、修改主节点的安装配置文件(demo.options)

    • 6、申请授权

    • 7、执行安装脚本

    • 8、集群状态查看

    • 9、创建 VC

    • 12、设置分片信息(创建数据分布模式)

    • 13、数据库初始化

    • 14、创建库表

  • 四、集群的卸载

  • 五、常见问题

一、集群节点环境设计

IP角色OShostname虚拟集群
10.168.10.60管理、数据、主部署节点CentOS7.9node60VC1
10.168.10.61管理、数据节点CentOS7.9node61VC1
10.168.10.62管理、数据节点CentOS7.9node62VC2
10.168.10.63数据节点CentOS7.9node63VC2
  1. 操作系统要求:redhat 7.x(或者centos 7.x)。安装系统时建议在“软件选择”中勾选“带GUI的服务器”中的“开发工具”选项。

  2. 硬件配置:内存2G以上(推荐4G),硬盘 20G以上,固定IP地址。

  3. 网络要求:各节点IP是同一网段,并互相能连通;开启 SSH 服务;关闭防火墙、关闭seLinux服务。

二、安装前准备工作

  1. 标识符约定:
    # 表示以 root 账户执行
    [60]# 表示在 node60 节点以 root 账户执行
    $ 表示以 DBA 账户执行
    [60]$ 表示在 node60 节点以 DBA 账户执行

  2. 准备 SSH 工具:
    推荐 XManager 5 以上。使用 XShell 模块分别连接三个 IP 创建三个 Session 窗口,方便在工具底部 Compose Bar中输入命令,同时发送命令到三个 Session 窗口。

  3. 节点联通测试:
    在 node60 窗口分别执行
    # ssh root@10.168.10.61
    # ssh root@10.168.10.62
    # ssh root@10.168.10.63
    若能成功跳转,则说明节点互通。

  4. 检查所有节点防火墙是否关闭:
    # systemctl status firewalld.service
    如果没关闭,则执行下面命令永久关闭
    # systemctl disable firewalld

  5. 检查所有节点 selinux 服务是否禁用:
    执行
    # sestatus
    系统提示以下信息说明 selinux 已被禁用
    SELinux status: disabled

    否则修改配置文件/etc/selinux/config,将SELINUX参数设置为 disabled,即 SELINUX=disabled
    保存退出后,需要重新启动才能生效。

  6. 准备安装包(GBASE培训中心提供百度网盘链接):
    请将下载的安装包 GBase8a_MPP_Cluster-9.5.3.28.35_patch.2-rhel7–license.zip 上传到 node60:/opt 下。文件名中的rhel7表示该安装包适配CentOS7或者RedHat7操作系统。

  7. 确认依赖包是否安装

yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel bzip2 firewalld crontabs net-tools openssh-server openssh-clients which sshpass

三、集群的安装

1、在集群所有节点上创建DBA用户

# useradd gbase
# passwd gbase

本文,gbase 账户密码设置为 dba@gbase8a

2、在集群所有节点上创建安装目录并授权

# mkdir -p /opt/gbase
# chown gbase:gbase /opt/gbase

3、安装包解压缩

[60]# cd /opt
[60]# unzip GBase8a_MPP_Cluster-9.5.3.28.35_patch.2-rhel7--license.zip
[60]# cd GBase8a_MPP_Cluster-9.5.3.28.35_patch.2-rhel7--license
[60]# mv GBase8a_MPP_Cluster-License-9.5.3.28.35_patch.2-redhat7-x86_64.tar.bz2 /opt
[60]# cd ..
[60]# tar xfj GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2
解压缩完成后,opt 下能看到生成 gcinstall 安装目录。

4、系统环境初始化

  • 将主部署节点的 SetSysEnv.py 脚本拷贝到其他节点(如果没有做互信,需要输入目标服务器 root 密码)
    [60]# scp /opt/gcinstall/SetSysEnv.py 10.168.10.61:/opt
    [60]# scp /opt/gcinstall/SetSysEnv.py 10.168.10.62:/opt
    [60]# scp /opt/gcinstall/SetSysEnv.py 10.168.10.63:/opt

  • 在 SetSysEnv.py 文件所在路径,运行这个脚本
    [60]# python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase
    [61]# python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase
    [62]# python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase
    [63]# python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase

如果遇到 IPV6 protocol not supported,please turn it on…的错误提示,
请手动开启 IPV6,执行:
# echo "net.ipv6.conf.all.disable_ipv6 = 0" >> /etc/sysctl.conf
# echo "net.ipv6.conf.default.disable_ipv6 = 0" >> /etc/sysctl.conf
# sysctl -p # 立即生效

5、修改主节点的安装配置文件(demo.options)

  • 切换到 gbase 用户:
    [60]# su - gbase
    [60]$ cd /opt/gcinstall/
    [60]$ vi demo.options

installPrefix = /opt/gbase
coordinateHost = 10.168.10.60,10.168.10.61,10.168.10.62
coordinateHostNodeID = 60,61,62
dataHost = 10.168.10.60,10.168.10.61,10.168.10.62,10.168.10.63
gcwareHost = 10.168.10.60,10.168.10.61,10.168.10.62
gcwareHostNodeID = 60,61,62
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'dba@gbase8a'
rootPwd = ''
#rootPwdFile = rootPwd.json

dbaPwd 是 gbase 账户的密码
rootPwd 是 root 账户的密码

6、申请授权

① 获取集群 ESN 码,在主部署节点 node60 上执行:
[60]$ cd /opt/gcinstall
[60]$ ./getesn.py ---silent=demo.options
得到类似 03-744PXBZR-RHRNVLB5-XKZKX3SF-79JC8J5T-P 的 ESN 码。
② 申请授权:

  • 将 ESN 码提供给 GBASE 售后经理,得到授权文件,比如 20260126.lic

  • 将该 lic 文件上传到主部署节点(node60)的 /opt 目录中。

7、执行安装脚本

[60]$ cd /opt/gcinstall
[60]$ ./gcinstall.py --silent=demo.options --license_file=20260126.lic
备注:在安装过程中,先进行环境检查,可能会有错,列出缺少rpm依赖包名称,说明操作系统没有安装全必须的rpm包,需要根据rpm包的名称去各节点逐个安装。
8a需要的必备依赖包列表,请查看安装目录gcinstall下的 dependRpms 文件
[60]$ cat dependRpms

注意:如果操作系统没cgroup(资源管理)组件,会出现如下警告,输入 Y 回车即可。
在这里插入图片描述

8、集群状态查看

安装结束之后,查看集群的状态。
$ gcadmin
因为没有注册授权,gcluster 和 gnode 服务是 close 状态属于正常现象。

CLUSTER STATE:         ACTIVE
===============================================================
|            GBASE COORDINATOR CLUSTER INFORMATION            |
===============================================================
|   NodeName   |  IpAddress   | gcware | gcluster | DataState |
---------------------------------------------------------------
| coordinator1 | 10.168.10.60 |  OPEN  |   CLOSE  |     0     |
---------------------------------------------------------------
| coordinator2 | 10.168.10.61 |  OPEN  |   CLOSE  |     0     |
---------------------------------------------------------------
| coordinator3 | 10.168.10.62 |  OPEN  |   CLOSE  |     0     |
---------------------------------------------------------------

===============================================================
|        GBASE CLUSTER FREE DATA NODE INFORMATION             |
===============================================================
| NodeName |   IpAddress    |  gnode | syncserver | DataState |
---------------------------------------------------------------
| Freenode1|  10.168.10.60  | CLOSE  |    OPEN    |     0     |
---------------------------------------------------------------
| Freenode2|  10.168.10.61  | CLOSE  |    OPEN    |     0     |
---------------------------------------------------------------
| Freenode3|  10.168.10.62  | CLOSE  |    OPEN    |     0     |
---------------------------------------------------------------
| Freenode3|  10.168.10.63  | CLOSE  |    OPEN    |     0     |
---------------------------------------------------------------
0 virtual cluster
3 coordinator node
4 free data node

9、创建 VC

① 创建 VC1
[60]$ cd /opt/gcinstall

生成 xml 模板 ——
[60]$ gcadmin createvc e vc1.xml

编辑 vc1.xml 并存盘,执行 ——
[60]$ vi vc1.xml

<?xml version='1.0' encoding="utf-8"?>
<servers>
    <rack>
        <node ip="10.168.10.60"/>
        <node ip="10.168.10.61"/>
    </rack>
    <vc_name name="vc1"/>
    <comment message="HR_VC"/>
</servers>

创建 VC1,执行 ——
[60]$ gcadmin createvc vc1.xml

② 创建 VC2
[60]$ cp vc1.xml vc2.xml

编辑 vc2.xml 并存盘,执行 ——
[60]$ vi vc1.xml

<?xml version='1.0' encoding="utf-8"?>
<servers>
    <rack>
        <node ip="10.168.10.62"/>
        <node ip="10.168.10.63"/>
    </rack>
    <vc_name name="vc2"/>
    <comment message="FN_VC"/>
</servers>

创建 VC2,执行 ——
[60]$ gcadmin createvc vc2.xml

12、设置分片信息(创建数据分布模式)

① 修改分片配置文件

[60]$ cp gcChangeInfo.xml gcChangeInfo_vc1.xml

[60]$ cp gcChangeInfo.xml gcChangeInfo_vc2.xml

编辑 gcChangeInfo_vc1.xml 并存盘,执行
[60]$ vi gcChangeInfo_vc1.xml

<?xml version='1.0' encoding="utf-8"?>
<servers>
    <rack>
        <node ip="10.168.10.60"/>
        <node ip="10.168.10.61"/>
    </rack>
</servers>

编辑 gcChangeInfo_vc2.xml 并存盘,执行
[60]$ vi gcChangeInfo_vc2.xml

<?xml version='1.0' encoding="utf-8"?>
<servers>
    <rack>
        <node ip="10.168.10.62"/>
        <node ip="10.168.10.63"/>
    </rack>
</servers>

② 生成分布表

[60]$ gcadmin distribution gcChangeInfo_vc1.xml p 1 d 1 dba_os_password 'dba@gbase8a' vc vc1

参数 dba_os_password 是 demo.optinos 中 gbaUser 的密码,本案例就是操作系统账户 gbase 的密码。密码中含有特殊字符,需要用单引号包围;否则可以省略单引号。

[60]$ gcadmin distribution gcChangeInfo_vc2.xml p 1 d 1 db_user root db_pwd Admin2O11O531 dba_os_password 'dba@gbase8a' vc vc2

创建第二个 VC 的命令中增加了一个参数 db_user(数据库账户)和 db_pwd(数据库账户的密码)。Admin2O11O531 这个密码是该版本安装后 root 的初始密码,注意密码中是两个大写的字母O不是数字零!

③ 再次查看集群状态
[60]$ gcadmin

CLUSTER STATE:         ACTIVE

===============================================================
|            GBASE COORDINATOR CLUSTER INFORMATION            |
===============================================================
|   NodeName   |  IpAddress   | gcware | gcluster | DataState |
---------------------------------------------------------------
| coordinator1 | 10.168.10.60 |  OPEN  |   OPEN   |     0     |
---------------------------------------------------------------
| coordinator2 | 10.168.10.61 |  OPEN  |   OPEN   |     0     |
---------------------------------------------------------------
| coordinator3 | 10.168.10.62 |  OPEN  |   OPEN   |     0     |
---------------------------------------------------------------
=============================================
|     GBASE VIRTUAL CLUSTER INFORMATION     |
=============================================
|    VcName    | DistributionId |  comment  |
---------------------------------------------
|     vc1      |       1        | HR_VC     |
---------------------------------------------
|     vc2      |       2        | FN_VC     |
---------------------------------------------
  • 也可以执行如下命令查看发布信息
    [60]$ gcadmin showcluster vc vc1

CLUSTER STATE:         ACTIVE
VIRTUAL CLUSTER MODE:  NORMAL

=============================================
|     GBASE VIRTUAL CLUSTER INFORMATION     |
=============================================
|    VcName    | DistributionId |  comment  |
---------------------------------------------
|     vc1      |       1        | HR_VC     |
---------------------------------------------
=========================================================================================================
|                                 VIRTUAL CLUSTER DATA NODE INFORMATION                                 |
=========================================================================================================
| NodeName |                IpAddress                 | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
|  node1   |               10.168.10.60               |       1        | OPEN  |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------
|  node2   |               10.168.10.61               |       1        | OPEN  |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------

[60]$ gcadmin showcluster vc vc2

CLUSTER STATE:         ACTIVE
VIRTUAL CLUSTER MODE:  NORMAL

=============================================
|     GBASE VIRTUAL CLUSTER INFORMATION     |
=============================================
|    VcName    | DistributionId |  comment  |
---------------------------------------------
|     vc2      |       2        | FN_VC     |
---------------------------------------------
=========================================================================================================
|                                 VIRTUAL CLUSTER DATA NODE INFORMATION                                 |
=========================================================================================================
| NodeName |                IpAddress                 | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
|  node1   |               10.168.10.62               |       2        | OPEN  |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------
|  node2   |               10.168.10.63               |       2        | OPEN  |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------

13、数据库初始化

  • 在管理节点上执行如下命令(数据库root密码默认为空)
    [60]$ gccli -u root -pAdmin2O11O531

GBase client 9.5.2.39.126761. Copyright (c) 2004-2023, GBase.  All Rights Reserved.

gbase> use vc vc1;
gbase> initnodedatamap;
gbase> use vc vc2;
gbase> initnodedatamap;

14、创建库表

初始化成功,则整个8a集群安装完毕,可以创建第一个库和表。
gbase> use vc vc1
gbase> create database test;
gbase>show databases;
gbase>use test;
gbase>create table T(id int ,name varchar(20));
gbase>show tables;

四、集群的卸载

  1. 停止所有节点的所有集群服务
    [60]$ gcluster_services all stop
    [61]$ gcluster_services all stop
    [62]$ gcluster_services all stop
    [63]$ gcluster_services all stop

Stopping GCMonit success!
Stopping gcrecover :                               [  OK  ]
Stopping gcluster :                                [  OK  ]
Stopping gcware :                                  [  OK  ]
Stopping gbase :                                   [  OK  ]
Stopping syncserver :                              [  OK  ]
  1. 在主节点上执行卸载命令
    [60]$ cd /opt/gcinstall
    [60]$ ./unInstall.py --silent=demo.options

五、常见问题

Q01. 集群安装成功后,在管理节点执行 gcadmin,系统提示找不到命令

  • 原因:环境变量没有生效

  • 解决方法:切换操作系统账户
    $ exit
    $ su gbase

Q02. 在管理节点执行 gcadmin,系统提示

Could not initialize CRM instance error: [122]->[can not connect to any server]
  • 原因:所有节点的集群服务都没有启动

  • 解决方法:
    [60]$ gcware_services all start
    [60]$ gcluster_services all start
    [61]$ gcware_services all start
    [61]$ gcluster_services all start
    [62]$ gcware_services all start
    [62]$ gcluster_services all start
    [61]$ gcware_services all start
    [63]$ gcluster_services all start

Q03 SSH 服务确认22端口被禁止,能安装8a集群吗?

  • 解决方法:

  1. 修改 SSH 配置文件。
    [60]# cd /etc/ssh
    [60]# vi ssh_config
    假设,修改配置文件中“Port”的值为 10022

  2. 重启 SSH 服务:
    [60]#service sshd restart

  3. 查看 SSH 监听端口是否修改为 10022
    [60]# netstat -tunlp | grep ssh

  4. 关闭所有管理节点集群服务
    [60]$ gcluster_services all stop
    [61]$ gcluster_services all stop
    [62]$ gcluster_services all stop
    [63]$ gcluster_services all stop

  5. 修改所有管理节点$GCWARE_BASE/config/gcware.conf 中的
    gcware 配置文件的 node_ssh_port: 22

  6. 重启所有管理节点集群服务
    [60]$ gcluster_services all start
    [61]$ gcluster_services all start
    [62]$ gcluster_services all start
    [63]$ gcluster_services all start

Q04. 查看安装8a集群的依赖包列表
$ cat /opt/gcinstall/dependRpms

pcre
krb5-libs
libdb
glibc
keyutils-libs
libidn
libuuid
ncurses-libs
libgpg-error
libgomp
libstdc++
libcom_err
libgcc
python-libs
libselinux
libgcrypt
nss-softokn-freebl

在安装脚本执行过程中,如果系统提示缺少rpm依赖包,需要按照以上rpm列表名,在各节点安装缺少的包。

Q05. 执行安装脚本使用超期的授权文件后,再使用新的授权文件再次执行安装,系统报错:
host number:6 is different with host md5 number:1
解决方法:
在主部署节点 roo 账户下
[60]$ cd /etc/ssh
创建目录mkdir bak将文件拷贝进该目录mv ssh_host_*bak重新启动sshd服务重新生成文件
[60]$ systemctl restart sshd

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 6个月前
优秀。
用户头像
mittens发表于 5个月前
学习了
用户头像
mittens发表于 5个月前
学习了
用户头像
mittens发表于 5个月前
学习了
用户头像
mittens发表于 5个月前
学习了
用户头像
mittens发表于 5个月前
学习了