原文链接:https://www.gbase.cn/community/post/4099
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
前一篇我们介绍了此系统的组网,配置,架构等,此篇文档将基于此架构介绍下,如何进行安装验证等。
一.集群安装前检查
1.1.硬件配置检查
验证服务器硬件配置是否均与硬件配置清单项相符。
验证服务器硬件是否能正常工作、正常启动。
验证raid卡配置是否按照推荐配置进行了设置。
1.2.操作系统配置检查
验证操作系统版本是否采用了推荐版本。
验证是否进行了双卡绑定。
验证千兆、万兆网卡是否工作在正常的速率模式。
验证磁盘分区是否正确,分区大小、采用文件系统是否为推荐配置。
验证防火墙、selinux服务是否为关闭状态。
验证各主机root口令是否设置一致。
验证各主机上集群相关端口是否被占用。
验证操作系统内核参数是否按照推荐配置修改。
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 -p [-h] [-P] [-D] [--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 '|';
原文链接:https://www.gbase.cn/community/post/4099
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。