暂无图片
暂无图片
7
暂无图片
暂无图片
暂无图片

GBase 8a MPP Cluster V953 安装与卸载详细步骤

原创 Lily_tj 2023-08-24
1057

GBase 8a MPP Cluster最新版本为953,跟952版本(培训用版本)相比,三大模块gcware、gcluster、gnode均可以实现独立部署,相互独立,不再像952版本gcware和gcluster必须部署在一起,统称管理节点,953版本gcware可以和gcluster部署不一样多的节点数,一般还是建议gcware和gcluster部署一起,gcware可以部署3个或者5个节点;gcluster节点可以根据数据节点多少,部署3、5、7、9等等,gnode越多,gcluster越多。因为gcware节点独立,所以启动8a服务需要分别启动 gcware服务和gcluster服务,需要使用不同的命令。

下面详细介绍安装3个节点GBase 8a集群953版本的步骤和方法。

一、集群节点环境设计

IP 角色 OS hostID
10.168.10.26 管理、数据、主节点 RedHat7.9 node26
10.168.10.27 管理、数据节点 RedHat7.9 node27
10.168.10.28 管理、数据节点 RedHat7.9 node28
  1. 操作系统要求:redhat 7.x(或者centos 7.x)。安装系统时建议在“软件选择”中勾选“带GUI的服务器”中的“开发工具”选项。
  2. 硬件配置:内存2G以上(推荐4G),硬盘 20G以上,固定IP地址。
  3. 网络要求:各节点IP是同一网段,并互相能连通;开启 SSH 服务;关闭防火墙、关闭seLinux服务。

二、安装前准备工作

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

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

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

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

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

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

  6. 准备安装包:
    在GBase官网的“服务与下载”栏目可下载GBase 8a集群安装包。
    GBase 8a集群953版本
    单击上面的链接下载安装包 GBase8a_MPP_Cluster-License-9.5.3.14-redhat7.3-x86_64.tar.bz2 ,然后将安装包上传到 node26:/opt 下。

三、集群的安装

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

# useradd gbase
# passwd gbase

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

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

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

3、安装包解压缩

[26]# cd /opt
[26]# tar xfj GBase8a_MPP_Cluster-License-9.5.3.14-redhat7.3-x86_64.tar.bz2
解压缩完成后,opt 下能看到生成 gcinstall 安装目录。

4、配置安装环境

  • 复制主节点的环境设置脚本(SetSysEnv.py)至从节点
    [27]# scp root@10.168.10.26:/opt/gcinstall/SetSysEnv.py /opt
    [28]# scp root@10.168.10.26:/opt/gcinstall/SetSysEnv.py /opt
  • 运行SetSysEnv.py脚本配置安装环境
    [26]# python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
    [27]# python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
    [28]# python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup

如果遇到 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 用户:
    [26]# su - gbase
    [26]$ cd /opt/gcinstall/
    [26]$ vi demo.options
installPrefix= /opt/gbase coordinateHost = 10.168.10.26,10.168.10.27,10.168.10.28 coordinateHostNodeID = 26,27,28 dataHost = 10.168.10.26,10.168.10.27,10.168.10.28 #existCoordinateHost = #existDataHost = #existGcwareHost= gcwareHost = 10.168.10.26,10.168.10.27,10.168.10.28 gcwareHostNodeID = 26,27,28 dbaUser = gbase dbaGroup = gbase dbaPwd = 'dba@gbase8a' rootPwd = 'peixun' #rootPwdFile = rootPwd.json #characterSet = utf8 #dbPort = 5258 #sshPort = 22

说明:8a V953版本跟V952版本不同在于,gcware模块可以单独部署,不需要跟gcluster节点部署在一起了,demo.options文件中多了gcware配置参数。
dbaPwd 是 gbase 账户的密码
rootPwd 是 root 账户的密码

6、执行安装脚本

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

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

7、集群状态查看

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

CLUSTER STATE: ACTIVE ==================================== | GBASE GCWARE CLUSTER INFORMATION | ==================================== | NodeName | IpAddress | gcware | ------------------------------------ | gcware1 | 10.168.10.26 | OPEN | ------------------------------------ | gcware2 | 10.168.10.27 | OPEN | ------------------------------------ | gcware3 | 10.168.10.28 | OPEN | ------------------------------------ ====================================================== | GBASE COORDINATOR CLUSTER INFORMATION | ====================================================== | NodeName | IpAddress | gcluster | DataState | ------------------------------------------------------ | coordinator1 | 10.168.10.26 | CLOSE | 0 | ------------------------------------------------------ | coordinator2 | 10.168.10.27 | CLOSE | 0 | ------------------------------------------------------ | coordinator3 | 10.168.10.28 | CLOSE | 0 | ------------------------------------------------------ ============================================================= | GBASE CLUSTER FREE DATA NODE INFORMATION | ============================================================= | NodeName | IpAddress | gnode | syncserver | DataState | ------------------------------------------------------------- | FreeNode1 | 10.168.10.26 | CLOSE | OPEN | 0 | ------------------------------------------------------------- | FreeNode2 | 10.168.10.27 | CLOSE | OPEN | 0 | ------------------------------------------------------------- | FreeNode3 | 10.168.10.28 | CLOSE | OPEN | 0 | ------------------------------------------------------------- 0 virtual cluster 3 coordinator node 3 free data node

8、申请授权

① 导出集群各节点的指纹信息:
[26]$ ./gethostsid -n 10.168.10.26,10.168.10.27,10.168.10.28 -u root -p '密码' -f /tmp/finger.txt
② 申请授权

该档案中 “其他说明” 栏位是 “每期培训代码”,请关注学习群内公布的信息。

  • 邮件标题:GBase 8a MPP Cluster v953 license 申请_{申请人姓名}
  • 邮件正文:
GBASE 公司: 附件为本人 GBase 8a 授权申请信息。

③ 授权申请处理时间点为工作日9:3013:3017:30。学员收到授权文件(*.lic)后上传到主节点的 /tmp 下。

9、导入和检查授权

① 导入授权:
[26]$ ./License -n 10.168.10.26,10.168.10.27,10.168.10.28 -f /tmp/20230824-06.lic -u gbase -p dba@gbase8a

② 检查授权导入情况:
[26]$ ./chkLicense -n 10.168.10.26,10.168.10.27,10.168.10.28 -u gbase -p dba@gbase8a

License 状态说明:

  • is_exist 用于标识 license 文件是否存在: yes 代表存在,no 代表不存在;
  • version 用于标识 license 类型: trial 为试用版, business 为商用版;
  • expire_time 用于标识试用版 license 的到期日期,只在检测试用版license 时才会显示;
  • is_valid 用于标识 license 是否有效: yes 代表 license 有效,no代表 license 失效;

若发现授权失效(is_valid is no),可能由于集群节点硬件变更,请重新生成指纹文件并发邮件申请授权。

10、在集群所有节点上启动gcware服务和gcluster服务

# su - gbase
$ gcware_services all start

Starting gcware : [ OK ] Starting GCWareMonit success!

$ gcluster_services all start

Starting gcluster : [ OK ] Starting gcrecover : [ OK ] Starting gbase : [ OK ] Starting syncserver : [ OK ] Starting GCMonit success!

这里要3个节点都启动才行。

查看集群状态:
$ gcadmin

CLUSTER STATE: ACTIVE ==================================== | GBASE GCWARE CLUSTER INFORMATION | ==================================== | NodeName | IpAddress | gcware | ------------------------------------ | gcware1 | 10.168.10.26 | OPEN | ------------------------------------ | gcware2 | 10.168.10.27 | OPEN | ------------------------------------ | gcware3 | 10.168.10.28 | OPEN | ------------------------------------ ====================================================== | GBASE COORDINATOR CLUSTER INFORMATION | ====================================================== | NodeName | IpAddress | gcluster | DataState | ------------------------------------------------------ | coordinator1 | 10.168.10.26 | OPEN | 0 | ------------------------------------------------------ | coordinator2 | 10.168.10.27 | OPEN | 0 | ------------------------------------------------------ | coordinator3 | 10.168.10.28 | OPEN | 0 | ------------------------------------------------------ ============================================================= | GBASE CLUSTER FREE DATA NODE INFORMATION | ============================================================= | NodeName | IpAddress | gnode | syncserver | DataState | ------------------------------------------------------------- | FreeNode1 | 10.168.10.26 | OPEN | OPEN | 0 | ------------------------------------------------------------- | FreeNode2 | 10.168.10.27 | OPEN | OPEN | 0 | ------------------------------------------------------------- | FreeNode3 | 10.168.10.28 | OPEN | OPEN | 0 | ------------------------------------------------------------- 0 virtual cluster 3 coordinator node 3 free data node

11、设置分片信息(创建发布)

[26]$ gcadmin distribution gcChangeInfo.xml p 2 d 1 pattern 1

  • gcinstall 下生成 gcChangeInfo.xml 文件
<?xml version="1.0" encoding="utf-8"?> <servers> <rack> <node ip="10.168.10.26"/> <node ip="10.168.10.27"/> <node ip="10.168.10.28"/> </rack> </servers>
  • 再次查看集群状态
    [26]$ gcadmin
CLUSTER STATE: ACTIVE VIRTUAL CLUSTER MODE: NORMAL ==================================== | GBASE GCWARE CLUSTER INFORMATION | ==================================== | NodeName | IpAddress | gcware | ------------------------------------ | gcware1 | 10.168.10.26 | OPEN | ------------------------------------ | gcware2 | 10.168.10.27 | OPEN | ------------------------------------ | gcware3 | 10.168.10.28 | OPEN | ------------------------------------ ====================================================== | GBASE COORDINATOR CLUSTER INFORMATION | ====================================================== | NodeName | IpAddress | gcluster | DataState | ------------------------------------------------------ | coordinator1 | 10.168.10.26 | OPEN | 0 | ------------------------------------------------------ | coordinator2 | 10.168.10.27 | OPEN | 0 | ------------------------------------------------------ | coordinator3 | 10.168.10.28 | OPEN | 0 | ------------------------------------------------------ ========================================================================================================= | GBASE DATA CLUSTER INFORMATION | ========================================================================================================= | NodeName | IpAddress | DistributionId | gnode | syncserver | DataState | --------------------------------------------------------------------------------------------------------- | node1 | 10.168.10.26 | 1 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- | node2 | 10.168.10.27 | 1 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- | node3 | 10.168.10.28 | 1 | OPEN | OPEN | 0 | ---------------------------------------------------------------------------------------------------------
  • 也可以执行如下命令查看发布信息
    [26]$ gcadmin showdistribution node
Distribution ID: 1 | State: new | Total segment num: 6 =========================================================== | nodes | 10.168.10.26 | 10.168.10.27 | 10.168.10.28 | ----------------------------------------------------------- | primary | 1 | 2 | 3 | | segments | 4 | 5 | 6 | ----------------------------------------------------------- |duplicate | 3 | 1 | 2 | |segments 1| 5 | 6 | 4 | ===========================================================

12、数据库初始化

  • 在管理节点上执行如下命令(数据库root密码默认为空,输入密码处直接回车)
    [26]$ gccli -u root -p
    gbase> initnodedatamap;

至此,安装配置GBase 8a所有操作完毕。
后面可以正常使用

13、创建库表

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

四、集群的卸载

  1. 停止所有节点的所有集群服务
    [26]$ gcluster_services all stop
    [27]$ gcluster_services all stop
    [28]$ gcluster_services all stop
Stopping GCMonit success! Stopping gcrecover : [ OK ] Stopping gcluster : [ OK ] Stopping gbase : [ OK ] Stopping syncserver : [ OK ]
  1. 停止所有节点的gcware服务
    [26]$ gcware_services all stop
    [27]$ gcware_services all stop
    [28]$ gcware_services all stop
Stopping GCWareMonit success! Stopping gcware : [ OK ]
  1. 在主节点上执行卸载命令
    [26]$ cd /opt/gcinstall
    [26]$ ./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]
  • 原因:所有节点的gcware服务或gcluster服务都没有启动
  • 解决方法:
    [26]$ gcware_services all start
    [27]$ gcware_services all start
    [28]$ gcware_services all start

[26]$ gcluster_services all start
[27]$ gcluster_services all start
[28]$ gcluster_services all start

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

  • 解决方法:
  1. 修改 SSH 配置文件。
    [26]# cd /etc/ssh
    [26]# vi ssh_config
    假设,修改配置文件中“Port”的值为 10022
  2. 重启 SSH 服务:
    [26]#service sshd restart
  3. 查看 SSH 监听端口是否修改为 10022
    [26]# netstat -tunlp | grep ssh
  4. 关闭所有管理节点集群服务
    [26]$ gcluster_services all stop
    [27]$ gcluster_services all stop
    [28]$ gcluster_services all stop
  5. 修改所有管理节点$GCWARE_BASE/config/gcware.conf 中的
    gcware 配置文件的 node_ssh_port: 22
  6. 重启所有管理节点集群服务
    [26]$ gcluster_services all start
    [27]$ gcluster_services all start
    [28]$ gcluster_services all start

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

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

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

最后修改时间:2023-08-25 15:46:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论