人大金仓分析型数据库资源组(二)

一、配置资源组

        数据库资源组使用Linux cgroup来管理CPU资源。使用cgroups将数据库进程的CPU和外部组件内存使用与节点上的其他进程隔离开来。在数据库群集中的每个节点上完成以下任务,以设置用于资源组的 cgroup:

        创建数据库cgroups配置文件/etc/cgconfig.d/gpdb.conf。用户必须是超级用户或具有sudo访问权限才能创建此文件:

sudo vi /etc/cgconfig.d/gpdb.conf

        将以下配置信息添加到 /etc/cgconfig.d/gpdb.conf,此内容配置由mppadmin用户管理CPU计算和内存控制组:

group gpdb {
perm {
task {
uid = mppadmin;
gid = mppadmin;
}
admin {
uid = mppadmin;
gid = mppadmin;
}
}
cpu {
}
cpuacct {
}
cpuset {
}
memory {
}
}
        请安装Control Groups操作系统软件包,并在每个节点上启动cgroups服务。根据节点上安装的操作系统而有所不同。用户必须是超级用户或具有sudo访问权限才能运行这些命令:
Redhat/CentOS 7.x 系统:
sudo yum install libcgroup-tools
sudo cgconfigparser -l /etc/cgconfig.d/gpdb.conf


Redhat/CentOS 6.x systems:
sudo yum install libcgroup
sudo service cgconfig start

SuSE 11+ systems:
sudo zypper install libcgroup-tools
sudo cgconfigparser -l /etc/cgconfig.d/gpdb.conf
        检查cgroup目录安装点:
grep cgroup /proc/mounts

        通过运行以下命令验证是否正确设置了cgroups配置。将 替换为用户在上一步中标识的安装点:

ls -l /cpu/gpdb
ls -l /cpuacct/gpdb
ls -l /cpuset/gpdb
ls -l /memory/gpdb

        系统重新启动时自动重新创建数据库所需的cgroup层次结构和参数,启用Linux cgroup服务守护程:

Redhat/CentOS 7.x 和 SuSE11+ 系统:
sudo systemctl enable cgconfig.service

Redhat/CentOS 6.x systems:
sudo chkconfig cgconfig on

二、启用资源组

        默认情况下会启用资源队列。要使用资源组而不是资源队列,必须设置gp_resource_manager服务器配置参数。

        将gp_resource_manager服务器配置参数设置为值"group":

gpconfig -s gp_resource_manager
gpconfig -c gp_resource_manager -v "group"

        重启数据库:

gpstop
gpstart

        启用后,角色提交的任何事务都将定向到分配给该角色的资源组,并受该资源组 的并发,内存和CPU限制的约束。数据库默认创建两个资源组admin_group和default_group,SUPERUSER角色分配了admin_group,非管理员角色分配了default_group的组。

限制类型
admin_group
default_group
CONCURRENCY
10 20
CPU_RATE_LIMIT
10 30
CPUSET
-1 -1
MEMORY_LIMIT
10 30
MEMORY_SHARED_ QUOTA
50 50
MEMORY_SPILL_RATIO
20 20
MEMORY_AUDITOR
vmtracker
vmtracker
        默认资源组admin_group和default_group的CPU_RATE_LIMIT和MEMORY_LIMIT值对分段主机上的总百分比有限制。 在创建数据库并将新资源组添加到数据库时,用户可能会发现需要为admin_group和/或default_group调整限制。

你可能感兴趣的:(数据库)