暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase8a资源管理与相关系统表

VV_刺头王 2022-03-17
646

    GBase 8a MPP Cluster资源管理功能可以对SELECT和DML等受控SQL在运行过程中使用的CPU、内存、I/O和磁盘空间等资源进行合理管控,以达到资源合理利用,系统稳定运行的要求。

    GBase 8a MPP Cluster资源管理有Consumer Group(资源消费组)、Resource Pool(资源池)、Resource Plan(资源计划)、Resource Directive(资源指令)与User(资源消费用户)组成,这些对象均可以在系统表中检索到相关信息。

1. User

集群用户,添加至资源消费组后受控于资源池。

创建语法:CREATE USER user [IDENTIFIED BY [PASSWORD] [password]]

创建用户后可以在gbase.user表中查询相关信息。

gbase.user表具体内容如下

Host

用于访问数据库的hostname

User

用于访问数据库的用户名

Password

用于访问数据库的密码

Default_vc

 

Select_priv

select语句的执行权限

Insert_priv

insert的权限

Update_priv

update的权限

Delete_priv

delete语句的执行权限

Create_priv

create table的权限

Drop_priv

drop table的权限

Reload_priv

使用flush的权限

Shutdown_priv

shutdown权限

Process_priv

show processlist的权限

File_priv

使用select...into file的权限

Grant_priv

管理权限的权限

References_priv

 

Index_priv

create index和drop index的权限

Alter_priv

Alter权限

Show_db_priv

show databases的权限

Super_priv

 

Create_tmp_table_priv

创建temporary table权限

Lock_tables_priv

允许在有select权限的表上使用 lock tables

Execute_priv

执行存储过程和函数的权限

Repl_slave_priv

 

Unmask_priv

 

Create_view_priv

是否允许创建过程及函数

Show_view_priv

使用show create view的权限

Create_routine_priv

创建存储过程和函数的权限

Alter_routine_priv

是否允许alter 过程及函数

Create_user_priv

create user, rename user, drop user, revoke all privileges,只能使用于global级别

Event_priv

event权限

Trigger_priv

触发器使用权限

ssl_type

 

ssl_cipher

 

x509_issuer

 

x509_subject

 

max_questions

用户每小时最多query次数

max_updates

用户每小时最多updates次数

max_connections

用户每小时最多连接次数

max_user_connections

用户同时连接的session数

max_cpus

用户使用最大cpu核数

max_memories

用户使用的最大memories

max_tmp_space

用户使用的最大临时空间

resource_group

用户资源组,控制cpu,memory等

task_priority

用户优先级

user_limit_storage_size

存储容量上限

user_storage_size

当前存储容量

uid

 

plugin

 

Auth_string

 

 

2. Consumer Group

Consumer Group为资源消费组,用户可根据具体业务资源使用情况将集群使用者分为不同的类别组,组内成员资源消费行为一致。

创建语法:CREATE CONSUMER GROUP [vc_name.]<group_name>[COMMENT=’comment’];

创建资源消费组后可在系统表gbase.consumer_group中检索到相关信息

gbase.consumer_group表具体内容如下

consumer_group_id

消费组ID

consumer_group_name

消费组名称

comment

注释信息

Vc_id

虚拟集群ID

用户添加至资源消费组语法:alter consumer group [vc_name.]<group_name> add user <user_name>;

将用户添加至资源消费组后可在系统表gbase.consumer_group_user中检索到相关信息

gbase.consumer_group_user表具体内容如下

consumer_group_id

消费组ID

user_name

用户名称

 

3. Resource Pool

资源池为集群任务执行过程中的资源供给者和管理者,分为静态资源池和动态资源池两种,静态资源池为资源供给者,动态资源池为资源管理者,约束任务对资源的使用。

创建语法:CREATE RESOURCE POOL [vc_name.]<resource_pool_name> (pool_attribute = value[,…]) TYPE [static|dynamic [BASE ON <parent_pool_name>];

其中,pool_attribute is:

[ priority={1|2|3|4|5|6|7|8 } ]

< cpu_percent=integer >

< max_memory=integer >

< max_temp_diskspace=integer >

< max_disk_space=integer >

< max_disk_writeio= integer >

< max_disk_readio=integer >

[ max_activetask=integer ]

[ task_max_parallel_degree=integer ]

[ task_waiting_timeout=integer ]

[ task_running_timeout=integer ]

创建资源池后可在系统表gbase.resource_pool中检索到相关信息

gbase.resource_pool表具体内容如下

resource_pool_id

资源池ID

resource_pool_name

资源池名称

resource_pool_type

资源池类型(静态/动态)

parent_resource_pool_id

父资源池ID

priority

资源池优先级

max_memory

内存使用上限

max_tmp_table_space

磁盘临时空间使用上限

max_disk_space

磁盘空间使用上限

task_parallel

任务并发度

max_task_number

最大任务数量

cpu_percent

CPU使用上限

disk_write_bps

磁盘写操作IO使用上限

disk_read_bps

磁盘读操作IO使用上限

waiting_timeout

任务等待时长上限

running_timeout

任务运行时长上限

Vc_id

 

 

4. Resource Plan

资源计划为按照一定规律规划集群中资源使用的方案,在资源计划中将自愿消费组挂接到合理的资源池中,以保证更有效地利用集群资源。

创建语法:create resource plan [vc_name.]<plan_name> [comment ='comment'];

创建资源计划后可在系统表gbase.resource_plan中检索到相关信息

gbase.resource_plan表具体内容如下

resource_plan_id

资源计划ID

resource_plan_name

资源计划名称

comment

注释信息

Vc_id

 

 

5. Resource Directive

资源指令为制定在资源计划中资源消费组与动态资源池的挂接关系。

创建语法:

create resource directive [vc_name.]<directive_name> (

plan_name = 'plan_name',

group_name = 'group_name',

pool_name = 'resource_pool_name',

        [comment = 'comment']);

创建资源指令后可以在系统表gbase.resource_plan_directive中查看相关信息。

gbase.resource_plan_directive表具体内容如下

plan_directive_name

资源计划指令名称

resource_plan_id

资源计划ID

consumer_group_id

消费组ID

resource_pool_id

资源池ID

comments

注释信息

Vc_Id

 

 

6. 启动资源管理

启动语法:active resource plan <resource_plan_name> on vc <vc_name>;

启动资源管理后可以在以下系统表查看需要的信息

Information_schema.COORDINATORS_RESOURCE_POOL_USAGE表中可以查询到所有coordinator节点的资源池实时使用情况。

NODE_NAME

节点名称

RESOURCE_POOL_ID

资源池ID,取值范围同字段类型取值范围

RESOURCE_POOL_NAME

资源池名称

PRIORITY

资源池优先级,取值范围[1,8]

WAITING_TASKS

该资源池在集群范围内当前等待任务数,取值范围同字段类型取值范围

RUNNING_TASKS

该资源池在集群范围内当前运行任务数,取值范围同字段类型取值范围

VC_ID

 

VC_NAME

 

 

Information_schema.GNODES_RESOURCE_POOL_USAGE表中可以查询到数据节点的资源池实时使用情况。

NODE_NAME

节点名称

VC_ID

 

VC_NAME

 

RESOURCE_POOL_ID

资源池ID,取值范围同字段类型取值范围

RESOURCE_POOL_NAME

资源池名称

PRIORITY

资源池优先级,取值范围[1,8]

RUNNING_TASKS

该资源池在集群范围内当前等待任务数,取值范围同字段类型取值范围

WAITING_TASKS

该资源池在集群范围内当前运行任务数,取值范围同字段类型取值范围

CPU_USAGE

cpu使用率(同top命令)

MEM_USAGE

内存使用量,取值范围同字段类型取值范围,单位byte

DISK_USAGE

磁盘使用量,取值范围同字段类型取值范围,单位byte

DISK_WRITEIO

磁盘写IO带宽使用量,取值范围同字段类型取值范围,单位bytes/s

DISK_READIO

磁盘读IO带宽使用量,取值范围同字段类型取值范围,单位bytes/s

 

Information_schema.COORDINATORS_RESOURCE_POOL_STATUS表中记录集群层的资源池历史使用情况。

NODE_NAME

节点名称

RESOURCE_POOL_ID

资源池ID号,取值范围同字段类型取值范围

RESOURCE_POOL_NAME

资源池名称

PRIORITY

资源池优先级,取值范围[1,8]

SERVIED_TASKS

该资源池在集群范围内已执行任务数,取值范围同字段类型取值范围

WAITING_AVG_TIME

该资源池在集群范围内任务平均等待时间,取值范围同字段类型取值范围,单位为s

RUNNING_AVG_TIME

该资源池在集群范围内任务平均运行时间,取值范围同字段类型取值范围,单位为s

SAMPLE_TIME

采样时间点

VC_ID

 

VC_NAME

 

 

Information_schema.GNODES_RESOURCE_POOL_STATUS表中记录数据节点的资源池历史使用情况。

NODE_NAME

节点名称

VC_ID

 

VC_NAME

 

RESOURCE_POOL_ID

资源池ID号,取值范围同字段类型取值范围

RESOURCE_POOL_NAME

资源池名称

PRIORITY

资源池优先级,取值范围[1,8]

SERVIED_TASKS

该资源池在集群范围内已执行任务数,取值范围同字段类型取值范围

WAITING_AVG_TIME

该资源池在集群范围内任务平均等待时间,取值范围同字段类型取值范围,单位为s

RUNNING_AVG_TIME

该资源池在集群范围内任务平均运行时间,取值范围同字段类型取值范围,单位为s

CPU_USAGE

cpu使用率(同top命令)

MEM_USAGE

内存使用量,取值范围同字段类型取值范围,单位byte

DISK_USAGE

磁盘使用量,取值范围同字段类型取值范围,单位byte

DISK_WRITEIO

磁盘写IO带宽使用量,取值范围同字段类型取值范围,单位bytes/s

DISK_READIO

磁盘读IO带宽使用量,取值范围同字段类型取值范围,单位bytes/s

SAMPLE_TIME

采样时间点

 

Information_schema.RESOURCE_POOL_EVENTS记录集群层资源池event信息。

NODE_NAME

节点名称

VC_ID

 

VC_NAME

 

RESOURCE_POOL_ID

资源池ID号,取值范围同字段类型取值范围

RESOURCE_POOL_NAME

资源池名称

EVENT_TIME

event发生时间

TASK_ID

任务ID

STATEMENT

SQL语句

EVENT_TYPE

event类型,包括terminate(终止已经开始执行的任务)和reject(终止尚未开始执行的任务)

EVENT_DESCRIPTION

发生event的原因描述,等待超时,运行超时,资源不足等

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论