1. 虚拟机
| 节点 | 操作系统 | IP地址 | 内存 |
|---|---|---|---|
| 8a01 | CentOS7.6 | 192.168.1.133 | 3G |
| 8a02 | CentOS7.6 | 192.168.1.134 | 3G |
| 8a02 | CentOS7.6 | 192.168.1.135 | 3G |
网络配置成 NAT 模式,方便使用 ssh 工具远程连接。
1.1. 关闭防火墙, 全部节点
systemctl disable firewalld
systemctl stop firewalld
1.2. 关闭 SELinux, 全部节点
sed -i '/^SELINUX=/d' /etc/selinux/config
echo "SELINUX=disabled" >> /etc/selinux/config
1.2. 安装依赖, 全部节点
yum install -y bzip2 python net-tools tar bc
2. 环境准备
2.1. 上传 8a 软件包至 Gcluster 节点,并解压
在主安装节点 Gcluster 节点,使用 root 帐户进行解压:
cd /opt
tar -xjvf ./GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2
使用 NoLicense 版本,无需申请 License。
2.2. 创建 DBA 用户,并授权 全部节点
# 为各集群节点创建 DBA 用户并设置密码
useradd gbase
passwd gbase
# 将数据库安装所涉及到目录所有权分配给 DBA 用户
mkdir -p /opt/gbase
chown -R gbase:gbase /opt/gbase
2.3. 复制环境设置脚本
# 方法一:在集群非主安装节点拷贝主安装节点的 SetSysEnv.py 脚本文件至本地目录。
# scp root@主安装节点IP: /目录/SetSysEnv.py /本地目录/
# 示例
scp root@192.168.157.133:/opt/gcinstall/SetSysEnv.py /opt/
# 方式二:在主安装节点拷贝 SetSysEnv.py 脚本文件至集群目标节点的指定目录。
# scp 本地SetSysEnv.py文件 root@目标安装节点IP:/目录/
# 示例:
scp /opt/gcinstall/SetSysEnv.py root@192.168.157.134:/opt/
scp /opt/gcinstall/SetSysEnv.py root@192.168.157.135:/opt/
如果 GCware 节点独立部署在单独的服务器上,GCware 节点不需要执行 SetSysEnv.py 文件。
2.4. 运行环境设置脚本 全部节点
cd /opt
python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
参数说明:
- –installPrefix:用户指定的数据库安装目录,必须为 demo.options 文件中 installPrefix 设置的目录。
- –dbaUser=DBA 用户,即指定的集群安装用户。必须与 demo.options 文件中 dbaUser 一致。
- –cgroup:可选参数,用于修改资源管理配置文件。仅限于使用 8a 资源管理功能时才指定该参数。
注:
如果 GCware 节点独立部署在单独的服务器上,GCware 节点不需要执行 SetSysEnv.py 文件。
执行日志记录在 /tmp/SetSysEnv.log 文件中。
3. 集群安装
3.1. 获取 License
GBase 8a 数据库分为:NoLicense 和 License 版本。
NoLicense 版本,无需进行 License 的申请和注册。目前仅用于个人学习使用。
License 版本:必须进行 ESN 的获取和 license 申请的操作。通常由 GBase 公司的销售人员或指定专业人员完成。
3.2. 数据库软件安装
安装命令语法:
./gcinstall.py --silent=demo.options [--license_file=licenseFile] [--passwordInputMode=Mode]
参数说明:
- –silent: 采用静默方式安装。此时必须指定静默安装配置文件 demo.options。
- –license file: 指定获取到的 license 文件。安装 License 版数据库,该参数为必选项。
- –passwordInputMode: 可选参数。用于指定安装数据库集群时密码的输入方式。Mode 代表三种模式:file、pwdsame、pwddiff。默认为 file,即通过读取 demo.options 文件获得.
- file: 表示从文件或命令行参数获取,该方式下,文件中的密码是明文的;
- pwdsame: 表示从终端由用户输入密码,并且所有节点的密码一致情况下使用该参数对于不同用户密码只输入一次,适用于所有节点都用这个密码;
- pwddiff: 表示从终端由用户输入密码,并且节点间的密码不一致情况下使用该参数对于不同用户密码每个节点分别输入一次,适用于不同节点使用不同的密码;
注:集群各节点必须已创建 DBA 用户且安装目录的读写权属已划归给 DBA 用户。
修改安装配置文件 demo.options
参数说明:
- installPrefix:指定安装目录。
- coordinateHost :所有 gcluster 节点 IP 列表,IP 地址之间用“,”分隔。
- coordinateHostNodeID : 所有 gcluster 节点标识,ID 之间用“,”分隔。
- dataHost: 所有 data 节点 IP 列表,IP 地址之间用“,”分隔。
- gcwareHost:所有 gcware 节点 IP 列表,IP 地址之间用“,”分隔。
- gcwareHostNodeID : 所有 gcware 节点标识,ID 之间用“,”分隔。
- dbaUser:集群安装和运行时使用的操作系统 DBA 用户名。
- dbaGroup: 集群运行时使用的操作系统 DBA 用户所属的组名。
- dbaPwd: 集群运行时使用的操作系统 DBA 用户的密码。
- rootPwd:安装集群节点机器中 linux 操作系统 root 用户的统一密码。
示例:
installPrefix = /opt/gbase
coordinateHost = 192.168.157.133,192.168.157.134,192.168.157.135
coordinateHostNodeID = 133,134,135
dataHost = 192.168.157.133,192.168.157.134,192.168.157.135
gcwareHost = 192.168.157.133,192.168.157.134,192.168.157.135
gcwareHostNodeID = 133,134,135
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = '111111'
在主安装节点使用 DBA 用户执行安装:
su - gbase
cd /opt/gcinstall/
./gcinstall.py --silent=demo.options
查看集群节点状态:
# 退出 gbase 重新进入, 环境变量才能生效, gcadmin 命令才可用
su - gbase
gcadmin
3.3. 生成分布信息表
分布信息表是 GBase 8a 数据库存放数据的核心映射表。它记录着 VC、节点和分片布局的关键信息。它是数据库数据访问和存储的关键,决定着数据库的整体性能和高可用性。
命令语法:
gcadmin distribution <gcChangeInfo.xml> <p number> [d number] [pattern 1|2]
说明:
- gcChangeInfo.xml: 是描述集群内节点和 rack(机柜)对应关系的文件,默认存放于 gcinstall 日录。
- p: 每个数据节点存放的主分片数量。注:pattern1 模式下,p 的取值范围为:1 <= p < rack 内节点数。
- d: 每个主分片的备份数量,取值为 0,1 或 2。默认值为 1。
- pattern: 描述分片备份规则的模板。1 为 rack 高可用,2 为节点高可用。默认为 1。
gcChangeInfo.xml 配置示例
<?xml version="1.0" encoding="utf-8"?>
<servers>
<rack>
<node ip="192.168.157.133"/>
<node ip="192.168.157.134"/>
<node ip="192.168.157.135"/>
</rack>
</servers>
生成分布信息表
su - gbase gcadmin distribution gcChangeInfo.xml p 2 d 1 pattern 1
查看分布信息表
su - gbase gcadmin showdistribution node
3.4. 数据库初始化
数据库初始化需要首先登录到数据库操作界面,对当前集群的 distribution 表进行初始化。
su - gbase
# 连接并登录数据库
gccli -uroot -p
登录后完成初始化操作:
gbase> initnodedatamap;
3.5. 各节点启动集群服务
虚拟主机重启后需要启动各节点集群服务。
启动 Gcluster 和 Gnode 节点的相关服务:
su - gbase gcluster_services all start
启动 Gcware 节点的相关服务:
su - gbase gcware_services all start
4. 集群卸载
4.1. 各节点停止集群服务
停止 Gcluster 和 Gnode 节点的相关服务:
su - gbase gcluster_services all stop [--force]
说明:
- force:可选参数,用于服务无法停止时,内部用 kill -9 即 kill -KILL 的方式强制停止服务进程。
停止 Gcware 节点的相关服务:
su - gbase gcware_services all stop [--force]
说明:
- force:可选参数,用于服务无法停止时,内部用 kill -9 即 kill -KILL 的方式强制停止服务进程。
4.2. 卸载集群
su - gbase ./unInstall.py --silent=demo.options
说明:
- –silent:采用静默方式卸载。此时必须指定静默配置文件 demo.options。demo.options 的内容要与现有集群描述一致。




