【GDCP认证班教材】GBase 8a MPP Cluster V953 虚拟集群的安装和卸载
一、集群节点环境设计
二、安装前准备工作
三、集群的安装
1、在集群所有节点上创建DBA用户
2、在集群所有节点上创建安装目录并授权
3、安装包解压缩
4、系统环境初始化
5、修改主节点的安装配置文件(demo.options)
6、申请授权
7、执行安装脚本
8、集群状态查看
9、创建 VC
12、设置分片信息(创建数据分布模式)
13、数据库初始化
14、创建库表
四、集群的卸载
五、常见问题
一、集群节点环境设计
| IP | 角色 | OS | hostname | 虚拟集群 |
|---|---|---|---|---|
| 10.168.10.60 | 管理、数据、主部署节点 | CentOS7.9 | node60 | VC1 |
| 10.168.10.61 | 管理、数据节点 | CentOS7.9 | node61 | VC1 |
| 10.168.10.62 | 管理、数据节点 | CentOS7.9 | node62 | VC2 |
| 10.168.10.63 | 数据节点 | CentOS7.9 | node63 | VC2 |
操作系统要求:redhat 7.x(或者centos 7.x)。安装系统时建议在“软件选择”中勾选“带GUI的服务器”中的“开发工具”选项。
硬件配置:内存2G以上(推荐4G),硬盘 20G以上,固定IP地址。
网络要求:各节点IP是同一网段,并互相能连通;开启 SSH 服务;关闭防火墙、关闭seLinux服务。
二、安装前准备工作
标识符约定:
# 表示以 root 账户执行
[60]# 表示在 node60 节点以 root 账户执行
$ 表示以 DBA 账户执行
[60]$ 表示在 node60 节点以 DBA 账户执行准备 SSH 工具:
推荐 XManager 5 以上。使用 XShell 模块分别连接三个 IP 创建三个 Session 窗口,方便在工具底部 Compose Bar中输入命令,同时发送命令到三个 Session 窗口。节点联通测试:
在 node60 窗口分别执行
#ssh root@10.168.10.61
#ssh root@10.168.10.62
#ssh root@10.168.10.63
若能成功跳转,则说明节点互通。检查所有节点防火墙是否关闭:
#systemctl status firewalld.service
如果没关闭,则执行下面命令永久关闭
#systemctl disable firewalld检查所有节点 selinux 服务是否禁用:
执行
#sestatus
系统提示以下信息说明 selinux 已被禁用
SELinux status: disabled否则修改配置文件/etc/selinux/config,将SELINUX参数设置为 disabled,即 SELINUX=disabled
保存退出后,需要重新启动才能生效。准备安装包(GBASE培训中心提供百度网盘链接):
请将下载的安装包 GBase8a_MPP_Cluster-9.5.3.28.35_patch.2-rhel7–license.zip 上传到 node60:/opt 下。文件名中的rhel7表示该安装包适配CentOS7或者RedHat7操作系统。确认依赖包是否安装
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;
四、集群的卸载
停止所有节点的所有集群服务
[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 ]
在主节点上执行卸载命令
[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集群吗?
解决方法:
修改 SSH 配置文件。
[60]#cd /etc/ssh
[60]#vi ssh_config
假设,修改配置文件中“Port”的值为 10022重启 SSH 服务:
[60]#service sshd restart查看 SSH 监听端口是否修改为 10022
[60]#netstat -tunlp | grep ssh关闭所有管理节点集群服务
[60]$gcluster_services all stop
[61]$gcluster_services all stop
[62]$gcluster_services all stop
[63]$gcluster_services all stop修改所有管理节点$GCWARE_BASE/config/gcware.conf 中的
gcware 配置文件的 node_ssh_port: 22重启所有管理节点集群服务
[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
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526
