GBase 8a MPP Cluster V95 安装和卸载
一、集群节点环境设计
IP | 角色 | OS | hostID |
---|---|---|---|
172.16.9.173 | 管理、数据、主节点 | RedHat7.3 | node173 |
172.16.9.174 | 管理、数据节点 | RedHat7.3 | node174 |
172.16.9.175 | 管理、数据节点 | RedHat7.3 | node175 |
- 操作系统要求:redhat 7.x(或者centos 7.x)。安装系统时建议在“软件选择”中勾选“带GUI的服务器”中的“开发工具”选项。
- 硬件配置:内存2G以上(推荐4G),硬盘 20G以上,固定IP地址。
- 网络要求:各节点IP是同一网段,并互相能连通;开启 SSH 服务;关闭防火墙、关闭seLinux服务。
二、安装前准备工作
-
标识符约定:
# 表示以 root 账户执行
[173]# 表示在 173 节点以 root 账户执行
$ 表示以 DBA 账户执行
[173]$ 表示在 173 节点以 DBA 账户执行 -
准备 SSH 工具:
推荐 XManager 5 以上。使用 XShell 模块分别连接三个 IP 创建三个 Session 窗口,方便在工具底部 Compose Bar中输入命令,同时发送命令到三个 Session 窗口。 -
节点联通测试:
在 node173 窗口分别执行
#ssh root@172.16.9.174
#ssh root@172.16.9.175
若能成功跳转,则说明节点互通。 -
检查所有节点防火墙是否关闭:
#systemctl status firewalld.service
如果没关闭,则执行下面命令永久关闭
#systemctl stop firewalld
#systemctl disable firewalld
-
检查所有节点 selinux 服务是否禁用:
执行
#sestatus
系统提示以下信息说明 selinux 已被禁用
SELinux status: disabled否则修改配置文件/etc/selinux/config,将SELINUX参数设置为 disabled,即 SELINUX=disabled
保存退出后,需要重新启动才能生效。 -
准备安装包:
请将下载的安装包 GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2 上传到 node173:/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、安装包解压缩
[173]# cd /opt
[173]# tar xfj GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2
解压缩完成后,opt 下能看到生成 gcinstall 安装目录。
4、配置安装环境
- 复制主节点的环境设置脚本(SetSysEnv.py)至从节点
[174]#scp root@172.16.9.173:/opt/gcinstall/SetSysEnv.py /opt
[175]#scp root@172.16.9.173:/opt/gcinstall/SetSysEnv.py /opt
- 运行SetSysEnv.py脚本配置安装环境
[173]#python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
[174]#python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
[175]#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 用户:
[173]#su - gbase
[173]$cd /opt/gcinstall/
[173]$vi demo.options
installPrefix = /opt/gbase
coordinateHost = 172.16.9.173,172.16.9.174,172.16.9.175
coordinateHostNodeID = 173,174,175
dataHost = 172.16.9.173,172.16.9.174,172.16.9.175
#existCoordinateHost =
#existDataHost =
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'dba@gbase8a'
rootPwd = 'peixun'
#rootPwdFile = rootPwd.json
dbaPwd 是 gbase 账户的密码
rootPwd 是 root 账户的密码
6、执行安装脚本
[173]$ ./gcinstall.py --silent=demo.options
备注:在安装过程中,先进行环境检查,可能会有错,列出缺少rpm依赖包名称,说明操作系统没有安装全必须的rpm包,需要根据rpm包的名称去各节点逐个安装。
8a需要的必备依赖包列表,请查看安装目录gcinstall下的 dependRpms 文件
[173]$ cat dependRpms
注意:如果操作系统没cgroup(资源管理)组件,会出现如下警告,输入 Y 回车即可。
7、集群状态查看
安装结束之后,查看集群的状态。
$ gcadmin
因为没有注册授权,gcluster 和 gnode 服务是 close 状态属于正常现象。
CLUSTER STATE: ACTIVE
===============================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
===============================================================
| NodeName | IpAddress | gcware | gcluster | DataState |
---------------------------------------------------------------
| coordinator1 | 172.16.9.173 | OPEN | CLOSE | 0 |
---------------------------------------------------------------
| coordinator2 | 172.16.9.174 | OPEN | CLOSE | 0 |
---------------------------------------------------------------
| coordinator3 | 172.16.9.175 | OPEN | CLOSE | 0 |
---------------------------------------------------------------
===============================================================
| GBASE CLUSTER FREE DATA NODE INFORMATION |
===============================================================
| NodeName | IpAddress | gnode | syncserver | DataState |
---------------------------------------------------------------
| Freenode1| 172.16.9.173 | CLOSE | OPEN | 0 |
---------------------------------------------------------------
| Freenode2| 172.16.9.174 | CLOSE | OPEN | 0 |
---------------------------------------------------------------
| Freenode3| 172.16.9.175 | CLOSE | OPEN | 0 |
---------------------------------------------------------------
0 virtual cluster
3 coordinator node
3 free data node
8、申请授权
① 导出集群各节点的指纹信息:
[173]$ ./gethostsid -n 172.16.9.173,172.16.9.174,172.16.9.175 -u root -p peixun -f /tmp/finger.txt
② 申请授权
- 发邮件给:license@gbase.cn;抄送给 shenliping@gbase.cn;
附件一为指纹信息文件 finger.txt
附件二为 T3_GBase8a培训用license申请表__{申请人姓名}.xls
该档案中 “其他说明” 栏位是 “每期培训代码”,请关注学习群内公布的信息。
- 邮件标题:GBase 8a MPP Cluster v95 license 申请_{申请人姓名}
- 邮件正文:
GBASE 公司:
附件为本人 GBase 8a 授权申请信息。
③ 授权申请处理时间点为工作日9:30、13:30和17:30。学员收到授权文件(*.lic)后上传到主节点的 /tmp 下。
9、导入和检查授权
① 导入授权:
[173]$ ./License -n 172.16.9.173,172.16.9.174,172.16.9.175 -f /tmp/20210608.lic -u gbase -p dba@gbase8a
② 检查授权导入情况:
[173]$ ./chkLicense -n 172.16.9.173,172.16.9.174,172.16.9.175 -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、在集群所有节点上启动全部集群服务
# su - gbase
$ gcluster_services all start
查看集群状态:
$ gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
===============================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
===============================================================
| NodeName | IpAddress | gcware | gcluster | DataState |
---------------------------------------------------------------
| coordinator1 | 172.16.9.173 | OPEN | OPEN | 0 |
---------------------------------------------------------------
| coordinator2 | 172.16.9.174 | OPEN | OPEN | 0 |
---------------------------------------------------------------
| coordinator3 | 172.16.9.175 | OPEN | OPEN | 0 |
---------------------------------------------------------------
=======================================================================
| GBASE DATA CLUSTER INFORMATION |
=======================================================================
| NodeName | IpAddress | gnode | syncserver | DataState |
-----------------------------------------------------------------------
| node1 | 172.16.9.173 | OPEN | OPEN | 0 |
-----------------------------------------------------------------------
| node2 | 172.16.9.174 | OPEN | OPEN | 0 |
-----------------------------------------------------------------------
| node3 | 172.16.9.175 | OPEN | OPEN | 0 |
-----------------------------------------------------------------------
11、设置分片信息(创建数据分布模式)
[173]$ gcadmin distribution gcChangeInfo.xml p 2 d 1 pattern 1
- gcinstall 下生成 gcChangeInfo.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<servers>
<rack>
<node ip="172.16.9.173"/>
<node ip="172.16.9.174"/>
<node ip="172.16.9.175"/>
</rack>
</servers>
- 再次查看集群状态
[173]$gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
===============================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
===============================================================
| NodeName | IpAddress | gcware | gcluster | DataState |
---------------------------------------------------------------
| coordinator1 | 172.16.9.173 | OPEN | OPEN | 0 |
---------------------------------------------------------------
| coordinator2 | 172.16.9.174 | OPEN | OPEN | 0 |
---------------------------------------------------------------
| coordinator3 | 172.16.9.175 | OPEN | OPEN | 0 |
---------------------------------------------------------------
============================================================================
| GBASE DATA CLUSTER INFORMATION |
============================================================================
| NodeName | IpAddress | DistributionId | gnode | syncserver | DataState |
----------------------------------------------------------------------------
| node1 | 172.16.9.173 | 1 | OPEN | OPEN | 0 |
----------------------------------------------------------------------------
| node2 | 172.16.9.174 | 1 | OPEN | OPEN | 0 |
----------------------------------------------------------------------------
| node3 | 172.16.9.175 | 1 | OPEN | OPEN | 0 |
----------------------------------------------------------------------------
- 也可以执行如下命令查看发布信息
[173]$gcadmin showdistribution node
Distribution ID: 1 | State: new | Total segment num: 6
============================================================================
| nodes | 172.16.9.173 | 172.16.9.174 | 172.16.9.175 |
----------------------------------------------------------------------------
| primary | 1 | 2 | 3 |
| segments | 4 | 5 | 6 |
----------------------------------------------------------------------------
|duplicate | 3 | 1 | 2 |
|segments 1| 5 | 6 | 4 |
============================================================================
12、数据库初始化
- 在管理节点上执行如下命令(数据库root密码默认为空)
[173]$gccli -u root -p
gbase>initnodedatamap;
13、创建库表
初始化成功,则整个8a集群安装完毕,可以创建第一个库和表。
gbase> create database test;
gbase>show databases;
gbase>use test;
gbase>create table t(id int ,name varchar(20));
gbase>show tables;
四、集群的卸载
- 停止所有节点的所有集群服务
[173]$gcluster_services all stop
[174]$gcluster_services all stop
[175]$gcluster_services all stop
Stopping GCMonit success!
Stopping gcrecover : [ OK ]
Stopping gcluster : [ OK ]
Stopping gcware : [ OK ]
Stopping gbase : [ OK ]
Stopping syncserver : [ OK ]
- 在主节点上执行卸载命令
[173]$cd /opt/gcinstall
[173]$./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]
- 原因:所有节点的集群服务都没有启动
- 解决方法:
[173]$gcluster_services all start
[174]$gcluster_services all start
[175]$gcluster_services all start
Q03 SSH 服务确认22端口被禁止,能安装8a集群吗?
- 解决方法:
- 修改 SSH 配置文件。
[173]#cd /etc/ssh
[173]#vi ssh_config
假设,修改配置文件中“Port”的值为 10022 - 重启 SSH 服务:
[173]#service sshd restart
- 查看 SSH 监听端口是否修改为 10022
[173]#netstat -tunlp | grep ssh
- 关闭所有管理节点集群服务
[173]$gcluster_services all stop
[174]$gcluster_services all stop
[175]$gcluster_services all stop
- 修改所有管理节点$GCWARE_BASE/config/gcware.conf 中的
gcware 配置文件的 node_ssh_port: 22 - 重启所有管理节点集群服务
[173]$gcluster_services all start
[174]$gcluster_services all start
[175]$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列表名,在各节点安装缺少的包。