(一)创建文件空间过程
1.首先在管理节点和数据节点上分别创建相关filespace目录
本地环境为数据存储目录为/data1,data2,并且是6p+6m
管理节点目录:
mkdir -p /data/cmcc_fs/master
如数据节点目录:
mkdir -p /data1/cmcc_fs/primary mkdir -p /data2/cmcc_fs/primary mkdir -p /data1/cmcc_fs/mirror mkdir -p /data2/cmcc_fs/mirror
关于数据节点目录应该创建的个数,首先登录到数据节点上看一下挂载的数据盘是有几个,如果只有一个data目录,只需要分别创建一个filespace目录就可以。
如:
mkdir -p /data/cmcc_fs/primary mkdir -p /data/cmcc_fs/mirror
当然还有一种情况就是可能有些集群只有primary,没有mirror时候,只需要针对primary创建文件空间目录即可。
如:
mkdir -p /data/cmcc_fs/primary
创建完成之后在管理节点上执行命令,注意创建的配置文件目录:
2.生成文件空间的配置文件
[gpadmin@ma01 gpAdminLogs]$ gpfilespace -o gpfilespace_config
然后开始填写之前填写过的文件空间目录,填写完成后会生成一个gpfilespace_config文件
按照日志内容执行文件即可
3.进行文件空间部署
[gpadmin@ma01 gpAdminLogs]$ gpfilespace --config gpfilespace_config
日志如下:
20190116:15:50:40:044545 gpfilespace:ma01:gpadmin-[INFO]:-
A tablespace requires a file system location to store its database
files. A filespace is a collection of file system locations for all components
in a Greenplum system (primary segment, mirror segment and master instances).
Once a filespace is created, it can be used by one or more tablespaces.
20190116:15:50:40:044545 gpfilespace:ma01:gpadmin-[INFO]:-getting config
Reading Configuration file: '/home/gpadmin/gpAdminLogs/gpfilespace_config'
20190116:15:50:40:044545 gpfilespace:ma01:gpadmin-[INFO]:-Performing validation on paths
..............................................................................
20190116:15:50:45:044545 gpfilespace:ma01:gpadmin-[INFO]:-Connecting to database
20190116:15:50:45:044545 gpfilespace:ma01:gpadmin-[INFO]:-Filespace "cmcc_fs" successfully created
表示创建完成
(二)创建表空间
CREATE TABLESPACE ts_bass FILESPACE cmcc_fs;
指定数据库默认表空间
set default_tablespace=ts_bass;
在数据库级别修改默认表空间:
alter database bass set default_tablespace=ts_bass;
(三)创建数据库
CREATE DATABASE bass WITH OWNER = gpadmin ENCODING = 'UTF8' TABLESPACE = ts_bass CONNECTION LIMIT = -1;
(四)创建资源队列
查看当前资源队列
SELECT * FROM gp_toolkit.gp_resqueue_status;
创建资源队列
create resource queue bass_queue with (ACTIVE_STATEMENTS=20);
赋予role资源管理队列
alter role dim resource queue bass_queue;
(五)创建数据库role
create role dim with password 'Zs30bass' login createdb RESOURCE QUEUE bass_queue; create role stg with password 'Zs30bass' login createdb RESOURCE QUEUE bass_queue;
(六)创建schema
create schema dim; create schema stg;
(七)绑定role和schema
grant all on schema dim to dim; grant all on schema stg to stg;
(八)设定用户创建外部表权限,针对GP5版本以上
alter user dim with CREATEEXTTABLE(protocol='gpfdist',type='writable'); alter user stg with CREATEEXTTABLE(protocol='gpfdist',type='writable');
评论