GBase 8a数据库集群新手使用入门

本文档适合于首次接触GBase 8a 集群的用户,以862Build43版本为基础,介绍安装,建表,入库,导出等最常用操作。GBase 8a数据库集群新手使用入门。

原文地址 http://www.gbase8.cn/1433 这也是我自己的。

GBase 8a 数据库集群

 

1       概述

本文档是介绍南大通用GBase 8a MPP集群(后面简称8a集群)的安装、简单使用,加点运维等基本操作,目标人群是刚接触8a集群的开发设计人员。

此文档只介绍基本使用,部分功能的详细说明,请查看产品手册。

本文档只包含8a集群V8版本在redhat 7上的操作样例。

1.1     约定

名字说明
管理节点 gcluster节点协调节点,coordinator节点,用于对外提供服务,解析和下发执行计划的节点。 包含gcluster的目录和gclusterd进程。 管理节点只保存表结构,不保存真实数据。 小规模集群里,管理和数据节点可以部署在同一个机器上。
数据节点 gnode节点负责保存数据,执行具体SQL的节点。 小规模集群里,管理和数据节点可以部署在同一个机器上。
协调节点 gcware节点负责集群一致性的服务。
Dba用户 dbaUser数据库安装的操作系统用户,一般都是gbase

2       环境准备

本章介绍简单【试用】8a集群所需要的环境。详细的环境需求,请参考产品手册的安装部分。

2.1     机器数量

1台即可,包括虚拟机。本文档只包含入门内容,如需进行性能测试或高可用测试,请主备最少3台服务器。

2.2     操作系统

本文档在redhat7版本操作样例,包括兼容的centos 7, cgsl5等。

内存建议最低4G,如果你准备做并发测试等,建议不低于16G。

磁盘空间请根据数据情况定,建议不低于10G,其中根目录可用空间不低于2G。

操作系统root密码。虽然支持sudo用户安装,如需要请参考产品安装手册。

本机的对外IP,本例是10.0.2.106 为一个ipv4地址。

关闭防火墙。

2.3     数据库版本

如您没有从其它渠道获得8a集群版本安装包,可以从官网下载免费版,(www.gbase8a.com),比如:

GBase8a_MPP_Cluster-NoLicense-FREE-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2

其中RHEL7.3代表需要在redhat 7操作系统上运行。

x86_64代表居于x86的64位CPU。

8.6.2是产品大版本号。

Build43-R7是小版本号。

3       安装

本章介绍8a集群的简单安装步骤,目标是一个可以建库,建表的使用环境。

3.1     上传

上传安装包到1台服务器的/root下面,如果有多台,【只需要】上传到任意一台即可。

 

3.2     解压

在当前位置解压缩:

tar xvf GBase8a_MPP_Cluster-NoLicense-FREE-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2

 

3.3     配置

进入gcinstall 目录

cd gcinstall

编辑配置文件

vi demo.options

编辑后的配置文件样例如下(请忽略#开头的行)

如下红色的参数是必须要修改的。

 

installPrefix 是安装的目录。

coordinateHost 是本次安装的机器IP地址

coordinateHostNodeID, 用于ipv6地址,改成和ipv6的最后部分相同即可。不能重复。ipv4可忽略。

loginUser 登陆操作系统的用户名,本例用root用户。

loginUserPwd  登陆操作系统用户的密码,本例是root用户的密码。

dbaUser 数据库使用的操作系统用户,默认是gbase。

dbaGroup  数据库使用的操作系统用户的所属用户组,默认gbase。

dbaPwd 数据库使用的操作系统用户的密码。

rootPwd 操作系统用户root的密码,本例中和前面的loginUserPwd相同。

后面的配置忽略

3.4     安装

执行

./gcinstall.py --silent=demo.options

并在许可同意部分输入字母y后按回车

在系统检查成功后,在确认安装时输入字母y后按回车。

等待安装完成

确认安装结果

gcadmin

如果安装后立即运行如上命令报错,可以稍等10秒再尝试1次。

3.5     设置分布策略

编辑分布策略的xml文件。默认安装程序会在当前目录下生成一个gcChangeInfo.xml

vi gcChangeInfo.xml

里面的node ip 是我们新安装集群的IP, 本例中我们不修改这个。

切换到操作系统gbase用户

su gbase

请注意如果你目录变了,请转到我们安装程序的目录。

新建数据库分布策略

gcadmin distribution gcChangeInfo.xml p 1 d 0

其中

distribution 是创建新的分布策略的命令。

gcChangeInfo.xml收我们分布策略配置文件。

p 是每个节点的分片数量,我们设置为1。

d 是副本数量,由于本例是单个节点,副本数为0. 如果你是多个节点,这里可以设置为1。

在确认时输入字母y然后回车

通过如下命令检查集群分布策略是否生效

gcadmin showdistribution

其中右半部分的Duplicate Segment node IP是副本的IP,我们无副本,所以是空的。

3.6     初始化

使用命令行客户端登陆集群

gccli

执行如下命令

initnodedatamap;

至此,数据库已经安装完毕,可以正式提供服务了。

4       初始化业务

本部分是介绍数据库的最基本操作,创建数据库,创建表,插入数据并查询。

4.1     创建数据库

执行如下命令,创建指定名字的数据库。

create database testdb;

切换到testdb数据库

use testdb;

4.2     创建表

创建表,我们简单设置一个人员名字表,包含如下几个字段:

id 人员编号, int

name 姓名,varchar

joinDate 加入日期,date

salary 薪水,Decimal

create table human(id int,name varchar(100),joindate date,salary decimal(10,2));

查看当前库有哪些表

show tables;

查看表的建表语句

show create table human;

查看表结构

desc human;

确认我们创建的表是正确的。

4.3     插入数据

通过insert方式,插入3行数据。

insert into human values(1,'张三','2000-01-02','30000');
insert into human values(2,'李四','2003-03-04','20000');
insert into human values(3,'王五','2008-05-06','15000');

4.4     查询

通过select语句,查询我们保存到数据库的数据。

select count(*) from human;

select * from human where id=1;

select * from human where salary>=20000;

5       加载

由于8a集群的单条insert性能很差,每秒最高也就几十到几千条,在大数据下(建议千行以上),都是通过加载的方式,批量入库。

本部分仅用于8a集群加载功能的演示,如关心性能,请自行构造业务表以及业务数据,进行测试。

5.1     构造数据

我们人工构造了几行数据,文件为/home/gbase/human.txt

[gbase@localhost ~]$ cat human.txt
1,First,2012-12-23,10000.12
2,Second,2013-11-12,8888.88
3,中国人,2019-08-09,9999.99
[gbase@localhost ~]$ pwd
/home/gbase

5.2              加载入库

本次加载只用于演示,采用基于ssh的sftp入库。如测试性能,请使用ftp,hdaoop等协议。

load data infile 'sftp://gbase:gbase1234@10.0.2.106/home/gbase/human.txt' into table testdb.human fields terminated by ',';

其中数据源采用了sftp格式

sftp://gbase:gbase1234@10.0.2.106/home/gbase/human.txt

入库目标是 testdb.human

fields表示字段的一些定义,此处只设定了字段之间的分隔符为单引号。

terminated by ','

5.3              其它一些协议的加载样例如下

ftp://gbaseload:gbaseload@192.168.1.1/2.csv

ftp://gbase:gbase@127.0.0.1//home/gbase/data/a.tbl

sftp://gbase:gbase@127.0.0.1/data/a.tbl

hdp://hadoop@192.168.10.1:50070/data/test.tbl

请参考 http://www.gbase8.cn/?p=121

6       导出

将数据库的数据,导出为平稳本格式的数据文件。

如下例子是用逗号分割的样例

select * from human into outfile 'sftp://gbase:gbase1234@10.0.2.106/home/gbase/human_out.txt' fields terminated by ',';

参数与加载一样的。

由于默认导出时,会创建一个和导出文件相同的目录,比如导出为human_out.txt, 实际上是 XXX/human_out.txt/human_out.txt

如上通过

set gbase_export_directory=0;

关闭导出时生成目录的参数。

参考 http://www.gbase8.cn/?p=119

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值