今天有幸 安装 gbase8a,把安装过程整理出来,给有需要的人用
网上952居多,本文以953为例,其实安装步骤差不多。
目录
1.规划机器
2.软件下载
3.安装文档
4.操作系统准备
4.1 操作系统安装
4.2 主机名及域名解析
4.3 关闭防火墙及selinux
5.创建用户及目录权限
6.设置安装环境
6.1 上传软件到主节点
6.2 使用root用户解压安装包
6.3 拷贝环境设置脚本到其他两台机器
6.4 配置安装环境(三台机器都要执行)
7.修改主节点的安装配置文件-demo.options
8.执行安装脚本
9.查看集群状态
10.创建数据库
10.1 设置分片信息
10.2 数据库初始化
10.3 创建数据库及表
11.客户端连接
12.基础命令
12.1 停止服务
12.2 启动服务
12.3 卸载 集群
1.规划机器
192.168.133.10 centos7.9 管理,数据,主节点
192.168.133.11 centos7.9 管理,数据节点
192.168.133.12 centos7.9 管理,数据节点
资源:4c/8g/50g
2.软件下载
数据库安装包:
https://www.gbase.cn/download/gbase-8a?category=INSTALL_PACKAGE/GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2
企业管理器工具包:
https://www.gbase.cn/download/gbase-8a?category=TOOLKIT/GBaseDataStudio_9.5.2.0_build21_Windows_x86_64.zip
3.安装文档
https://www.gbase.cn/docs/gbase-8a/%E4%BA%A7%E5%93%81%E6%89%8B%E5%86%8C/cluster-install-update-uninstall/cluster-install/
4.操作系统准备
4.1 操作系统安装
操作系统,要求:centos 7.x ,选择 server with gui
4.2 主机名及域名解析
hostnamectl set-hostname gbase10
hostnamectl set-hostname gbase11
hostnamectl set-hostname gbase12
cat /etc/hosts
192.168.133.10 gbase10
192.168.133.11 gbase11
192.168.133.12 gbase12
4.3 关闭防火墙及selinux
systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config
SELINUX=disabled
5.创建用户及目录权限
useradd gbase
echo gbase | passwd --stdin gbase
mkdir -p /opt/gbase
chown gbase:gbase /opt/gbase
chown gbase:gbase /tmp
6.设置安装环境
6.1 上传软件到主节点
把数据库集群安装包上传到主节点 (192.168.133.10),位置:/opt
6.2 使用root用户解压安装包
tar xvf /opt/GBase8a_MPP_Cluster-NoLicense-FREE-9.5.3.28.12-redhat7-x86_64.tar.bz2 -C /opt
6.3 拷贝环境设置脚本到其他两台机器
cp /opt/gcinstall/SetSysEnv.py /opt/.
scp /opt/gcinstall/SetSysEnv.py 192.168.133.11:/opt/.
scp /opt/gcinstall/SetSysEnv.py 192.168.133.12:/opt/.
6.4 配置安装环境(三台机器都要执行)
执行 SetSysEnv.py
python /opt/SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
7.修改主节点的安装配置文件-demo.options
在主节点上执行
su - gbase
cd /opt/gcinstall
cp demo.options demo.options.bak
vim demo.options
[gbase@gbase10 gcinstall]$ cat demo.options
installPrefix= /opt/gbase
coordinateHost = 192.168.133.10,192.168.133.11,192.168.133.12
coordinateHostNodeID = 10,11,12
dataHost = 192.168.133.10,192.168.133.11,192.168.133.12
#existCoordinateHost =
#existDataHost =
#existGcwareHost=
gcwareHost = 192.168.133.10,192.168.133.11,192.168.133.12
gcwareHostNodeID = 10,11,12
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = 'sztech@4U'
#dbRootPwd = ''
#rootPwdFile = rootPwd.json
#characterSet = utf8
#sshPort = 22
备注:
dbaPwd 是 gbase 账户的密码
rootPwd 是 root 账户的密码
8.执行安装脚本
在主节点上执行
su - gbase
cd /opt/gcinstall
./gcinstall.py --silent=demo.options
先进行环境检查,可能会有错,列出缺少rpm依赖包名称,说明操作系统没有安装全必须的rpm包,需要根据rpm包的名称去各节点逐个安装。
8a需要的必备依赖包列表,请查看安装目录gcinstall下的 dependRpms 文件
[gbase@gbase10 gcinstall]$ cat /opt/gcinstall/dependRpms
ncurses-libs
libdb
glibc
keyutils-libs
libidn
libgpg-error
libgomp
libstdc++
libgcc
python-libs
libgcrypt
nss-softokn-freebl
然后checking Cgconfig service这步,如果操作系统没cgroup(资源管理)组件,会出现如下警告,不管他,直接 输入 Y 回车即可继续执行:
checking Cgconfig service
command "lssubsys" not found on host [192.168.133.10]
command "lssubsys" not found on host [192.168.133.11]
command "lssubsys" not found on host [192.168.133.12]
Cgconfig service is not exist on host ['192.168.133.10', '192.168.133.11', '192.168.133.12'], resource manangement can not be used, continue ([Y,y]/[N,n])?
然后会让我们确认安装信息,输入Y确认,然后开始安装。
直到InstallCluster Successfully。
。。。
192.168.133.12 install gcware and cluster on host 192.168.133.12 successfully.
192.168.133.11 install gcware and cluster on host 192.168.133.11 successfully.
192.168.133.10 install gcware and cluster on host 192.168.133.10 successfully.
Starting all gcluster nodes ...
adding new datanodes to gcware ...
InstallCluster Successfully
9.查看集群状态
在任意节点gbase 用户下,执行
su - gbase
gcadmin
[gbase@gbase10 ~]$ gcadmin
CLUSTER STATE: ACTIVE
======================================
| GBASE GCWARE CLUSTER INFORMATION |
======================================
| NodeName | IpAddress | gcware |
--------------------------------------
| gcware1 | 192.168.133.10 | OPEN |
--------------------------------------
| gcware2 | 192.168.133.11 | OPEN |
--------------------------------------
| gcware3 | 192.168.133.12 | OPEN |
--------------------------------------
========================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
========================================================
| NodeName | IpAddress | gcluster | DataState |
--------------------------------------------------------
| coordinator1 | 192.168.133.10 | OPEN | 0 |
--------------------------------------------------------
| coordinator2 | 192.168.133.11 | OPEN | 0 |
--------------------------------------------------------
| coordinator3 | 192.168.133.12 | OPEN | 0 |
--------------------------------------------------------
===============================================================
| GBASE CLUSTER FREE DATA NODE INFORMATION |
===============================================================
| NodeName | IpAddress | gnode | syncserver | DataState |
---------------------------------------------------------------
| FreeNode1 | 192.168.133.11 | OPEN | OPEN | 0 |
---------------------------------------------------------------
| FreeNode2 | 192.168.133.10 | OPEN | OPEN | 0 |
---------------------------------------------------------------
| FreeNode3 | 192.168.133.12 | OPEN | OPEN | 0 |
---------------------------------------------------------------
0 virtual cluster
3 coordinator node
3 free data node
10.创建数据库
10.1 设置分片信息
在主安装节点的 /opt/gcinstall 目录中生成 gcChangeInfo.xml 文件,默认一个rack包围一个节点,我们要修改为一个 rack 包围所有 node 的格式:
[gbase@gbase10 gcinstall]$ cat gcChangeInfo.xml
<?xml version="1.0" encoding="utf-8"?>
<servers>
<rack>
<node ip="192.168.133.10"/>
<node ip="192.168.133.11"/>
<node ip="192.168.133.12"/>
</rack>
</servers>
gbase用户在主节点的 /opt/gcinstall 目录中执行:
gcadmin distribution gcChangeInfo.xml p 2 d 1 pattern 1
备注:
p number 每个数据节点存放的分片数量,最小值为1。
d number 每个分片的备份数量,取值为0,1或2。若不输入参数d,默认值为1。
pattern number 生成distribution所使用模式,取值为1或2,pattern 1为负载均衡模式,pattern 2为高可用模式。若不输入参数pattern,默认使用pattern 1生成distribution。
再次查看集群状态(出现了 DistributionId 列)
[gbase@gbase10 gcinstall]$ gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
======================================
| GBASE GCWARE CLUSTER INFORMATION |
======================================
| NodeName | IpAddress | gcware |
--------------------------------------
| gcware1 | 192.168.133.10 | OPEN |
--------------------------------------
| gcware2 | 192.168.133.11 | OPEN |
--------------------------------------
| gcware3 | 192.168.133.12 | OPEN |
--------------------------------------
========================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
========================================================
| NodeName | IpAddress | gcluster | DataState |
--------------------------------------------------------
| coordinator1 | 192.168.133.10 | OPEN | 0 |
--------------------------------------------------------
| coordinator2 | 192.168.133.11 | OPEN | 0 |
--------------------------------------------------------
| coordinator3 | 192.168.133.12 | OPEN | 0 |
--------------------------------------------------------
=========================================================================================================
| GBASE DATA CLUSTER INFORMATION |
=========================================================================================================
| NodeName | IpAddress | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
| node1 | 192.168.133.11 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
| node2 | 192.168.133.10 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
| node3 | 192.168.133.12 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
也可以执行如下命令查看发布信息
[gbase@gbase10 gcinstall]$ gcadmin showdistribution node
Distribution ID: 1 | State: new | Total segment num: 6
====================================================================================================================================
| nodes | 192.168.133.10 | 192.168.133.11 | 192.168.133.12 |
------------------------------------------------------------------------------------------------------------------------------------
| primary | 1 | 2 | 3 |
| segments | 4 | 5 | 6 |
------------------------------------------------------------------------------------------------------------------------------------
|duplicate | 3 | 1 | 2 |
|segments 1| 5 | 6 | 4 |
====================================================================================================================================
10.2 数据库初始化
在管理节点上执行如下命令(数据库root密码默认为空,输入密码处直接回车)
gccli -u root -p
初始化:
gbase> initnodedatamap;
至此,安装配置GBase 8a所有操作完毕。
看一下状态
gbase> status
--------------
gccli ver 9.5.3.28.12509af27, for redhat-linux (x86_64) using readline 6.3
Connection id: 8
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 9.5.3.28.12509af27
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /opt/gbase/192.168.133.10/gcluster_5258.sock
Uptime: Elapsed: 00:11:34.00
Threads: 5 Questions: 73 Slow queries: 0 Opens: 31 Flush tables: 1 Open tables: 22 Queries per second avg: 0.105
--------------
10.3 创建数据库及表
gbase> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| performance_schema |
| gbase |
| gctmpdb |
| gclusterdb |
+--------------------+
5 rows in set (Elapsed: 00:00:00.00)
gbase>
有点熟悉,对,默认就是兼容mysql
gbase> create database test;
Query OK, 1 row affected (Elapsed: 00:00:00.04)
gbase> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| performance_schema |
| gbase |
| gctmpdb |
| gclusterdb |
| test |
+--------------------+
6 rows in set (Elapsed: 00:00:00.00)
gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)
gbase> create table emp(empid int,last_name varchar(20));
Query OK, 0 rows affected (Elapsed: 00:00:00.06)
gbase> show tables;
+----------------+
| Tables_in_test |
+----------------+
| emp |
+----------------+
1 row in set (Elapsed: 00:00:00.00)
gbase>
11.客户端连接
在windows上直接解压 GBaseDataStudio_9.5.2.0_build21_Windows_x86_64.zip,使用java打开程序
\GBaseDataStudio_9.5.2.0_build21_Windows_x86_64\GBaseDataStudio\GBaseDataStudio.exe
直接就可以用
选择GBase8a MPP,连接一个cluster节点:
12.基础命令
12.1 停止服务
停止所有节点的所有集群服务,在所有节点执行:
gcluster_services all stop
停止 gcware 服务,在安装了 gcaware 服务的节点上执行:
gcware_services all stop
关机
12.2 启动服务
操作系统起来,默认没有启动服务
在所有机器上执行
su - gbase
gcware_services all start
gcluster_services all start
检查服务
gcadmin
12.3 卸载 集群
在主节点上执行卸载命令
cd /opt/gcinstall
./unInstall.py --silent=demo.options
到此,整个GBASE8A 基本的安装搞定。