一、集群节点环境设计
IP | 角色 | OS | hostID |
---|---|---|---|
11.0.1.161 | 管理、数据、 主节点 | CentOS 7.9 | node161 |
11.0.1.162 | 管理、数据节点 | CentOS 7.9 | node162 |
11.0.1.163 | 管理、数据节点 | CentOS 7.9 | node163 |
- 操作系统要求:Redhat 7.x(或者 CentOS 7.x)。安
- 推荐硬件配置:CPU 2.0 GHz 以上;内存 4G 以上,剩余磁盘空间 20G 以上,固定 IP 地址。
- 网络要求:各节点 IP 是同一网段,并互相能连通;开启 SSH 服务;关闭防火墙、关闭 seLinux 服务。
二、预先安装配置
1、关闭防火墙
# systemctl status firewalld.service
#如果没关闭,则执行下面命令永久关闭
# systemctl stop firewalld
# systemctl disable firewalld
2、关闭 selinux
执行# sestatus
系统提示以下信息说明 selinux 已被禁用
SELinux status: disabled
否则修改配置文件 /etc/selinux/config,将 SELINUX 参数设置为 disabled,即 SELINUX=disabled
# 临时设置为 setenforce 0
# 获取状态 getenforce
3、关闭内存大页
查看状态
cat /sys/kernel/mm/transparent_hugepage/enabled
一般为 always,就是开启
3.1 修改 /etc/default/grub 文件
编辑 /etc/default/grub 文件,GRUB_CMDLINE_LINUX 配置参数 ” elevator=deadline transparent_hugepage=never“,下面是编辑完之后的文件内容:
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed's, release .*$,,g'/etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet elevator=deadline transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"
生效设置
grub2–mkconfig –o /boot/grub2/grub.cfg
最后 reboot 重启
4、最大进程数设置
# vi /etc/systemd/system.conf
DefaultTasksMax=infinity
重启生效
三、集群的安装
1、在集群所有节点上创建 DBA 用户
# useradd gbase
# passwd gbase 这里把密码设置为 gbase123
2、在集群所有节点上创建安装目录并授权
# mkdir -p /opt/gbase
# chown gbase:gbase /opt/gbase
3、下载并解压安装介质
在 gbase1 节点上执行
cd /opt
wget https://cdn.gbase.cn/products/30/ZV8pWQwtmxjVIXrMRR7wW/GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2
tar -xvf GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2
4、分发环境配置脚本
scp /opt/gcinstall/SetSysEnv.py gbase2:/opt/
scp /opt/gcinstall/SetSysEnv.py gbase3:/opt/
#之后在三个节点上分别执行(实际上是在 gcware 所在节点上执行,如果是非对称部署,则只需要在 gcware 上执行)python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
5、修改主节点的安装配置文件(demo.options)
- 切换到 gbase 用户:
#su - gbase
$
cd /opt/gcinstall/
$vi demo.options
installPrefix= /opt/gbase
coordinateHost = 11.0.1.161,11.0.1.162,11.0.1.163
#NodeId 在 ipv4 配置下可以不写,在 ipv6 或主机名时必须写
#coordinateHostNodeID = 161,162,163
dataHost = 11.0.1.161,11.0.1.162,11.0.1.163
#existCoordinateHost =
#existDataHost =
#existGcwareHost=
gcwareHost = 11.0.1.161,11.0.1.162,11.0.1.163
#同上 NodeID
#gcwareHostNodeID = 161,162,163
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase123'
rootPwd = '123'
#dbRootPwd = ''
#rootPwdFile = rootPwd.json
#characterSet = utf8
#sshPort = 22
6、执行安装脚本
$ ./gcinstall.py --silent=demo.options
备注:在安装过程中,先进行环境检查,可能会有错,列出缺少 rpm 依赖包名称,说明操作系统没有安装全必须的 rpm 包,需要根据 rpm 包的名称去各节点逐个安装。8a 需要的必备依赖包列表,请查看安装目录 gcinstall 下的 dependRpms 文件
$ cat dependRpms |xargs -i -t rpm -qa {} #这里没有的依赖需要安装
7、检查安装状态
8、设置分片信息(创建数据分布模式)
(1) 在主安装节点的 /opt/gcinstall 目录中生成 gcChangeInfo.xml 文件,要修改为一个 rack 包围所有 node 的格式:
<?xml version="1.0" encoding="utf-8"?>
<servers>
<rack>
<node ip="11.0.1.161"/>
<node ip="11.0.1.162"/>
<node ip="11.0.1.163"/>
</rack>
</servers>
(2) 在主节点的 /opt/gcinstall 目录中执行:$ gcadmin distribution gcChangeInfo.xml p 2 d 1 pattern 1
(3) 再次查看集群状态(出现了 DistributionId 列)
$ gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
====================================
| GBASE GCWARE CLUSTER INFORMATION |
====================================
| NodeName | IpAddress | gcware |
------------------------------------
| gcware1 | 11.0.1.161 | OPEN |
------------------------------------
| gcware2 | 11.0.1.162 | OPEN |
------------------------------------
| gcware3 | 11.0.1.163 | OPEN |
------------------------------------
====================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
====================================================
| NodeName | IpAddress | gcluster | DataState |
----------------------------------------------------
| coordinator1 | 11.0.1.161 | OPEN | 0 |
----------------------------------------------------
| coordinator2 | 11.0.1.162 | OPEN | 0 |
----------------------------------------------------
| coordinator3 | 11.0.1.163 | OPEN | 0 |
----------------------------------------------------
=========================================================================================================
| GBASE DATA CLUSTER INFORMATION |
=========================================================================================================
| NodeName | IpAddress | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
| node1 | 11.0.1.162 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
| node2 | 11.0.1.161 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
| node3 | 11.0.1.163 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
- 也可以执行如下命令查看发布信息
$gcadmin showdistribution node
Distribution ID: 1 | State: new | Total segment num: 6
====================================================================================================================================
| nodes | 11.0.1.161 | 11.0.1.162 | 11.0.1.163 |
------------------------------------------------------------------------------------------------------------------------------------
| primary | 1 | 2 | 3 |
| segments | 4 | 5 | 6 |
------------------------------------------------------------------------------------------------------------------------------------
|duplicate | 3 | 1 | 2 |
|segments 1| 5 | 6 | 4 |
====================================================================================================================================
9、数据库初始化
- 在管理节点上执行如下命令(数据库 root 密码默认为空,输入密码处直接回车)
$gccli -u root -p
gbase>initnodedatamap;
至此,安装配置 GBase 8a 所有操作完毕。
后面可以正常使用
四、集群的卸载
- 停止所有节点的所有集群服务,在所有节点执行:
$gcluster_services all stop
Stopping GCMonit success!
Stopping gcrecover : [OK]
Stopping gcluster : [OK]
Stopping gbase : [OK]
Stopping syncserver : [OK]
- 停止 gcware 服务,在安装了 gcaware 服务的节点上执行:
$gcware_services all stop
Stopping GCWareMonit success!
Stopping gcware : [OK]
- 在主节点上执行卸载命令
$cd /opt/gcinstall
$./unInstall.py --silent=demo.options
正文完