南大通用GBase 8a 分布式数据库集群安装与基本使用操作

概述

本文档是介绍南大通用GBase 8a 分布式数据库集群(简称GBase 8a MPP集群)的安装、简单使用等基本操作,目标人群是刚接触分布式数据库集群的DBA和数据库开发人员。

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

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

环境准备

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

2.1 机器数量

测试环境1台即可安装(也可以是虚拟机)。生产环境 在兼顾性能和高可用的情况下最少3台服务器。

2.2 操作系统环境

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

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

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

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

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

关闭防火墙。

2.3 数据库版本

如您没有从其它渠道获得GBase 8a MPP集群版本安装包,可以从官网下载免费版,(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是小版本号。

安装

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

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

编辑配置文件: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;

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

开始使用GBase 8a MPP

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

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;

批量数据入库

load data语句是GBase 8a MPP批量数据入库性能极高的SQL入库方式之一。

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

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

表数据导出

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

GBase 8a MPP数据导出包括本地导出和远程导出。

本地导出:如下例子是用逗号分割的样例

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;

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

远程导出:

rmt:select * from human into outfile '/data/gbase/human_out.txt' fields terminated by ',';

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值