logo
GBase 8a
其他
文章

南大通用GBase 8a在数据实时传输系统中的解决方案(下)

GBase用户17199
发表于2024-07-23 13:45:22512次浏览0个评论

前一篇我们介绍了此系统的组网,配置,架构等,此篇文档将基于此架构介绍下,如何进行安装验证等。

一.集群安装前检查

1.1.硬件配置检查

  1. 验证服务器硬件配置是否均与硬件配置清单项相符。
  2. 验证服务器硬件是否能正常工作、正常启动。
  3. 验证raid卡配置是否按照推荐配置进行了设置。

1.2.操作系统配置检查

  1. 验证操作系统版本是否采用了推荐版本。
  2. 验证是否进行了双卡绑定。
  3. 验证千兆、万兆网卡是否工作在正常的速率模式。
  4. 验证磁盘分区是否正确,分区大小、采用文件系统是否为推荐配置。
  5. 验证防火墙、selinux服务是否为关闭状态。
  6. 验证各主机root口令是否设置一致。
  7. 验证各主机上集群相关端口是否被占用。
  8. 验证操作系统内核参数是否按照推荐配置修改。

1.3.磁盘性能测试

采用dd和fio磁盘测试工具对/data目录进行磁盘IO性能测试,根据测试结果评估磁盘顺序、随机读写的性能是否正常;
写测试 执行命令“dd oflag=direct if=/dev/zero of=1.dat bs=2M count=200” 
读测试 执行命令“dd iflag=direct if=1.dat of=/dev/null bs=2M count=200” 
读写测试 执行命令“dd iflag=direct oflag=direct if=1.dat of=2.dat bs=2M count=200”

语法:dd [选项]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

1.4.网络IO性能测试

采用netperf工具对千兆网络、万兆网络分别进行网络IO性能测试,根据测试结果评估千兆网络、万兆网络的性能是否正常。
Netperf 是一种网络性能测量工具,主要基于 TCP 或 UDP 的传输。工作原理:
Netperf 工具以 client/server 方式工作。server 端是 netserver,用来侦听来自 client 端的连接,client 端是 netperf ,用来向 server 发起网络测试。

二.集群安装

2.1.集群安装文件上传解压

上传集群安装包到某一个coordinator节点的/data/setup/路径下。
解压安装包到当前路径下:
# tar xfj GBase8a_MPP_Cluster-NoLicense-8.6.2_build43-R11-SUSE12-x86_64.tar.bz2

2.2.修改安装参数文件

用户在安装集群前,需要根据实际情况,对安装参数文件进行修改。安装参数文件存在于解压安装包文件后的/data/setup/gcinstall/这个路径里,安装参数文件的文件名为:demo.options。
用户参照如下章节介绍的操作方法,进入解压后的gcinstall目录,根据实际的集群环境修改安装参数文件demo.options
cd /data/setup/gcinstall
vim demo.options

根据此项目硬件情况配置如下:
# cd gcinstall
# vi demo.options
installPrefix= 实际安装路径
coordinateHost =管理节点IP,以逗号分隔
dataHost=数据节点IP,以逗号分隔
#existCoordinateHost = 
#existDataHost = 
loginUser= root
loginUserPwd = '操作系统用户root密码'
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = '操作系统用户root密码'
dbRootPwd = ''
mcastPort = 5493

安装参数说明如下:
installPrefix:指定安装目录。
coordinateHost :所有coordinator节点 IP列表,IP地址之间用“,”分隔。
dataHost:  所有data节点IP列表,IP地址之间用“,”分隔。
existCoordinateHost: 所有已存在的coordinator节点IP列表,IP地址之间用“,”分隔。本次安装不需配置。
existDataHost: 所有已存在的data节点IP列表,IP地址之间用“,”分隔。本次安装不需配置。
loginUser: 通过该用户ssh到集群各节点,再su切换到root用户执行命令,该参数必须使用。默认用户为root。该用户所属用户组必须也是loginUser。
loginUserPwdFile表示支持用户loginUser在集群节点不同密码的方式;loginUserPwd表示用户loginUser在集群节点密码相同的方式。两者不能兼用,否则报错,可以根据密码的异同选择参数使用,
dbaUser:  集群运行时使用的操作系统用户名。配置dbaUser与installPrefix执行目录相同,需要保证该用户已创建。
dbaGroup: 集群运行时使用的操作系统用户所属的组名。
dbaPwd:   集群运行时使用的操作系统用户的密码。
rootPwdFile,该参数支持root用户在多节点不同密码方式,与参数rootPwd不能同时使用,否则报错。
dbRootPwd :数据库root用户密码。安装集群时无需设置,仅在集群升级、扩容、节点替换时使用生效。
mcastPort:组播端口,缺省值为5493,如果按照UDPU方式安装,则此参数无效。
rootPwd:安装集群节点机器中linux操作系统中root用户的统一的密码。
coordinateHostNodeID: 支持对IPV6地址的输入,当集群节点为IPV4地址,则该参数无效,可不用设置。

2.3.执行安装

成功修改安装参数文件后,执行安装脚本gcinstall.py,安装执行中,具体命令如下:
# ./gcinstall.py --silent=demo.options

参数说明:

1、gcinstall.py命令可选参数:passwordInputMode
参数含义:指定密码获取的方式,通过不同的参数实现不同的获取方式。若指定该参数,则demo.options中的密码不必再修改。
默认值: file
取值范围:[file,pwdsame,pwddiff]
file : 表示从文件或命令行参数获取,和原有的方式一致,该方式下,文件中的密码是明文的;
pwdsame:表示从终端由用户输入密码,并且所有节点的密码一致情况下使用该参数,对于不同用户密码只输入一次,适用于所有节点都用这个密码;
pwddiff:  表示从终端由用户输入密码,并且节点间的密码不一致情况下使用该参数,对于不同用户密码每个节点分别输入一次,适用于不同节点使用不同的密码;

2、-a 
参数含义:安装时跳过与用户交互提示信息。
安装成功后,会在每个节点上创建一个操作系统的用户gbase,其密码默认是 gbase。GBase 8a MPP Cluster的主要软件模块都运行在gbase 用户下。
每个coordinator节点的/opt下会创建gcluster子目录,每个data节点的/opt下会创建gnode子目录,GBase 8a MPP Cluster的数据库用户,默认为root, 密码为空。

安装成功后,通过gcadmin查看集群状况,示例如下:
CLUSTER STATE: ACTIVE
CLUSTER MODE: NORMAL

==================================================================
|             GBASE COORDINATOR CLUSTER INFORMATION              |
==================================================================
|   NodeName   |     IpAddress      |gcware |gcluster |DataState |
------------------------------------------------------------------
| coordinator1 |    10.20.64.29     | OPEN  |  OPEN   |    0     |
------------------------------------------------------------------
| coordinator2 |    10.20.64.30     | OPEN  |  OPEN   |    0     |
------------------------------------------------------------------
| coordinator3 |    10.20.64.31     | OPEN  |  OPEN   |    0     |
------------------------------------------------------------------
==============================================================
|               GBASE DATA CLUSTER INFORMATION               |
==============================================================
|NodeName |     IpAddress      |gnode |syncserver |DataState |
--------------------------------------------------------------
|  node1  |    10.20.64.24     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node2  |    10.20.64.25     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node3  |    10.20.64.26     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node4  |    10.20.64.27     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node5  |    10.20.64.28     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node6  |    10.20.64.29     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node7  |    10.20.64.32     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node8  |    10.20.64.33     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
|  node9  |    10.20.64.34     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------
| node10  |    10.20.64.35     | OPEN |   OPEN    |    0     |
--------------------------------------------------------------

2.4.配置distribution

现场采用1副本1分片的配置方式进行配置
$ gcadmin distribution gcChangeInfo.xml p 1 d 1
配置成功后可以通过gcadmin  showdistribution查看数据分布方式,示例如下:

2.5.集群的初始化

集群安装完毕,并且建立distribution之后,在首次执行SQL命令之前,需要对数据库系统做初始化操作,才能正确执行所有的SQL操作。如果不做初始化操作,执行数据库操作时会提示不能创建或执行。

1.首先使用root帐号登录集群。
$ gccli -uroot -p 
Enter password: 
GBase client 8.6.1.1 build 49382. Copyright (c) 2004-2015, GBase.  All Rights Reserved.
gbase>

2.执行初始化命令 initnodedatamap命令。
gbase> initnodedatamap;
Query OK, 0 rows affected
注意:此命令只需执行一次,如果重复执行,系统会报告如下信息:
gbase> initnodedatamap;
ERROR 1707 (HY000): gcluster command error: (GBA-02CO-0004) nodedatamap is already initialized.
至此,GBase 8a MPP Cluster安装结束。

三.集群安装后的校验

3.1.集群服务的启停

成功安装集群后,用户可以在每个节点上使用操作系统的root用户执行以下命令启停gcware服务:
启动服务:
# service gcware start
停止服务:
# service gcware stop
重启服务:
# service gcware restart

其中,coordinator节点针对的服务有gclusterd,gcmonit,corosync,gcrecover;data节点针对的服务有gbased,syncserver,gcmonit。
集群的登录与退出
在任何节点上,在命令行状态,用户必须使用gbase用户,通过gbase 客户端工具连接数据库。命令格式如下。
gccli –u<usernameusername> -p<passwordpassword> [-h<i paddresspaddress>] [-P<portnameportname>] [-D<databasenamedatabasename>] [--nice_time_format format] [-c]
参数:
username:-u的参数值,连接数据库的用户名称,该名称默认为root。
password:-p的参数值,连接数据库的密码,该密码默认为空,首次安装并登录集群后,需要修改root用户的password。
ipaddress
ipaddress::-h的参数值,登录集群节点的的参数值,登录集群节点的IP地址,默认地址,默认127.0.0.1可选参数;如果指定多个选参数;如果指定多个IP地址, , 则启动gccli的高可用功能,IP地址之间采采用“,”分隔,例如
192.168.100.10,192.168.100.11,192.168.100.12
在指定多个集群节点IP的情况下,gccli首先尝试与第一个节点IP建立连接,如果无法建立连接,则尝试与下一个节点连接,以此类推。如果配置的多个集群节点IP均无法建立连接,则gccli无法建立与集群的连接,本次登录失败。
portname:-P的参数值,集群使用的端口号,默认5258,可选参数。
databasename:-D的参数值,指定登录时默认的数据库(数据库必须存在),可选参数。
--nice_time_format:指定时间的显示格式,使用该参数,格式显示为'n hour n min nnn.nn sec',不使用该参数,格式显示为'hh:mm:ss.ff'。可选参数。nice_time_format可以这样使用:
1) gccli -uroot --nice_time_format
2) gccli -uroot --nice_time_format = 1
3) gccli -uroot --nice_time_format = 0
其中1和2等价, 3等价于不使用nice_time_format。
-c:使用此参数,用于使用hint优化方式。可选参数。

3.2.简单操作验证

集群安装部署成功后,进行简单的创建,插入,修改,删除的操作,以验证集群的状态正常,示例如下:
验证create database功能
gbase> create database test;

验证create table功能
gbase> create table test(a int,b varchar(200),c decimal(15,4),d date,e datetime,f longblob);

验证insert功能
gbase> insert into test values (1,'AASSSDDD',10922.34,now(),'2019-07-02','xxxxxaaaaaaassssssdddd'),(2,'B',100.01,now(),'2019-07-02','xxxx');

验证update功能
gbase>update test set c= 500.04 where a=2;

验证delete功能
gbase> delete from test where a=2;

验证truncate功能
gbase> truncate table test;

验证drop功能
gbase> drop table test;

验证ftp加载功能
gbase>load data infile 'ftp://gbase:gbase@192.168.58.11/gbasedata/ssbm/lineorder.tbl' INTO TABLE ssbm.lineorder FIELDS TERMINATED BY '|';

验证本地加载功能
gbase> load data infile 'file://192.168.58.11/home/gbase/gbasedata/ssbm/lineorder.tbl' INTO TABLE ssbm.lineorder FIELDS TERMINATED BY '|';

评论

登录后才可以发表评论