HDFS(Hadoop Distributed File System)的配额(Quotas)是HDFS一个重要管理功能,分别用于容量/命名空间控制。 下面详细解释它们的概念、用途和操作: HDFS 配额 (Quotas) 配额用于限制HDFS目录能使用的资源量,防止单个用户或应用占用过多空间或文件数,确保集群资源公平使用和稳定性。 1.
文档编写目的 ---- HBase集群在实际的使用的过程会遇到,不重要的业务使用集群资源过多,从而导致一些比较重要的业务无法正常运行,针对这种多工作负载问题社区提出了相应的应对措施,主要有如下几种: 1.Quotas 在前面的文章中Fayson介绍了《如何在CDH中使用HBase的ACLs进行授权》,本篇文章主要介绍如何在CDH中使用HBase的Quotas设置资源请求限制。 文档概述 1.HBase启用Quota 2.HBase Quotas测试 3.总结 测试环境 1.CM和CDH版本为5.14.3 2.Redhat7.4 前置条件 1.集群已启用Kerberos 2.HBase 启用Quotas ---- 在CDH中默认HBase的Quotas功能是关闭的,需要通过CM为HBase配置Qutoas 1.登录CM,进入HBase服务配置界面 ? 4.HBase NameSpace Quotas测试 ---- 1.使用admin用户限制my_ns_admin空间的建表数据不超过3个 新建一个NameSpace为ns2并限制建表数量为2 hbase
资源配额(Resource Quotas)是 Kubernetes 中用于限制命名空间内资源使用的一种机制。
ALTER USER LHR_TS_QUOTAS QUOTA UNLIMITED ON USERS;--修改用户LHR_TS_QUOTAS无配额限制 ALTER USER LHR_TS_QUOTAS WHERE USERNAME='LHR_TS_QUOTAS';--查询用户的表空间限额 REVOKE UNLIMITED TABLESPACE FROM LHR_TS_QUOTAS;--回收无限制的表空间权限 ALTER USER LHR_TS_QUOTAS QUOTA 0 ON USERS;--执行这条语句后LHR_TS_QUOTAS用户在DBA_TS_QUOTAS视图中就查不到了 测试示例如下所示: SYS@orclasm > SELECT TABLESPACE_NAME,USERNAME,MAX_BYTES FROM DBA_TS_QUOTAS WHERE USERNAME='LHR_TS_QUOTAS SYS@orclasm > SELECT TABLESPACE_NAME,USERNAME,MAX_BYTES FROM DBA_TS_QUOTAS WHERE USERNAME='LHR_TS_QUOTAS
测试环境: 1.RedHat7.2 2.CDH5.16.1 2 Hadoop配额说明 Hadoop提供两种配额模式Name Quotas和Space Quotas。 Name Quotas和Space Quotas是相互独立的(即可以同时设置两种配额也可以只设置其中一个,互不冲突)。 Name Quotas说明: 主要限制指定HDFS路径下文件和目录数目(含父目录),但不会对该目录下文件大小做限制。 2.Space Quotas主要是对目录下空间大小进行限制,每个Block副本大小均会被计算在内。 3.指定的HDFS路径可以同时指定Name Quotas和Space Quotas,如果达到其中任何一个配额限制则会操作失败。
-s aquota.group quota.group 启动quota的限额: [root@localhost ~]# quotaon -avug /dev/hdb1 [/disk2]: group quotas turned on /dev/hdb1 [/disk2]: user quotas turned on ===> 看到turned on,才是真的成功! 编辑使用者的可使用空间: [root@localhost ~]# edquota -u quser1 Disk quotas for user quser1 (uid 502): Filesystem limit grace /dev/hdb1 0 45000 50000 0 0 0 Disk quotas 编辑群组可使用的空间: [root@localhost ~]# edquota -g qgroup Disk quotas for group qgroup (gid 502): Filesystem
[root@localhost test]# edquota -u quota1 -->修改针对quota1用户的配置 Disk quotas for user quota1 0 0 [root@localhost test]# edquota -u quota2 -->修改针对quota2用户的配置 Disk quotas 0 0 [root@localhost test]# edquota -g myquota -->修改针对myquota组的配置 Disk quotas group的quota信息 一般三个参数一起使用 [root@localhost test]# repquota -aug *** Report for user quotas 6days 2 0 0 quota2 -- 51200 0 0 1 0 0 *** Report for group quotas
www.cnblogs.com/dongxiao-yang/p/5217754.html Starting in 0.9, the Kafka cluster has the ability to enforce quotas Quotas are basically byte-rate thresholds defined per client-id. 从0.9版本开始,kafka集群新增了针对生产和消费请求进行配额(quotas)控制的能力。Quota基本上是一个单client-id的数据byte速率的门槛值的概念。 Having quotas protects against these issues and is all tbe more important in large multi-tenant clusters This lets us change quotas without having to do a rolling restart of the entire cluster.
aquota.group quota.group 启动 quota 的限额: [root@localhost ~]# quotaon -avug /dev/hdb1 [/disk2]: group quotas turned on /dev/hdb1 [/disk2]: user quotas turned on ===> 看到turned on,才是真的成功! 编辑使用者的可使用空间: [root@localhost ~]# edquota -u quser1 Disk quotas for user quser1 (uid 502): Filesystem quota limit grace /dev/hdb1 0 45000 50000 0 0 0 Disk quotas 编辑群组可使用的空间: [root@localhost ~]# edquota -g qgroup Disk quotas for group qgroup (gid 502): Filesystem
设定方法有两种: Name Quotas:设置某一个目录下文件总数 Space Quotas:设置某一个目录下可使用空间大小 默认情况下Hdfs没有任何配置限制,可以使用 hadoop fs -count Name Quotas 计算公式:QUOTA – (DIR_COUNT + FILE_COUNT) = REMAINING_QUOTA 这里的 10000 是指 DIR_COUNT Space Quotas 计算公式:SPACE_QUOTA – CONTENT_SIZE = REMAINING_SPACE_QUOTA 可以使用 m, g, t 代表 MB 如果新设置的quota值,小于该目录现有的Name Quotas 及 Space Quotas,系统并不会给出错误提示,但是该目录的配置会变成最新设置的quota
in self.quotas[resource_uri]: self.quotas[resource_uri][quota_type].update_limit(limit) ,移除该资源 if not self.quotas[resource_uri]: del self.quotas[resource_uri and quota_type in self.quotas[resource_uri]: return self.quotas[resource_uri][quota_type and quota_type in self.quotas[resource_uri]: return self.quotas[resource_uri][quota_type and quota_type in self.quotas[resource_uri]: self.quotas[resource_uri][quota_type].release_quota
service nfs restart Shutting down NFS mountd: [ OK ] Shutting down NFS daemon: [ OK ] Shutting down NFS quotas : [ OK ] Shutting down NFS services: [ OK ] Starting NFS services: [ OK ] Starting NFS quotas: Cannot restart 错误五:Error: RPC MTAB does not exist. service nfs start Starting NFS services: [ OK ] Starting NFS quotas
Project Quotas 此特性在 1.15+处于 Alpha 状态。 Project quotas 是 Linux 操作系统级别的特性,用于在目录级别限制磁盘用量。 只有本地临时存储(例如 emptyDir)的后备(Backing)文件系统支持 Project quotas,才可以使用该特性。XFS、ext4 都支持 Project quotas。 Quotas 比周期性扫描快,而且更加精准。当一个目录被分配到一个 Project 中后,该目录中创建的任何文件,都是在 Project 中创建的。 quotas: XFS 文件系统默认支持,不需要操作 确保文件系统挂载时,启用了 Project quotas。 磁盘配额 前文已经介绍过,K8S 目前支持基于 Project quotas 来统计 Pod 的磁盘用量。这里简单总结一下 Linux 磁盘配额机制。
使用res_user账户登录 SQL> select * from user_ts_quotas; TABLESPACE_NAME BYTES MAX_BYTES SQL> select * from user_ts_quotas; TABLESPACE_NAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS 但仍让用户具有无限容量权限 SQL> alter user res_user quota unlimited on dcsopen_tbspace; SQL> select * from user_ts_quotas 限额值可以用user_ts_quotas表查询。 2. 若为用户授予resource角色,则用户自动具有UNLIMITED TABLESPACE权限,即使用quota限额,也不受其控制。
hbase shell group (12个命令组) general、dll、dml、tools、replication、snapshots、configuration、quotas、procedures restore_snapshot, snapshot Group name: configuration update_all_config, update_config Group name: quotas list_quotas, set_quota Group name: security grant, list_security_capabilities, revoke, user_permission
可以通过users.xml中<quotas>标签来定义资源配额,可配配置项如下:<quotas><default><! result_rows>0</result_rows><read_rows>0</read_rows><execution_time>0</execution_time></interval></default></quotas 现在测试资源配额,我们在users.xml中<quotas>标签下新建一组<limit_1>资源配额,配置如下:<limit_1><! -- Quotas. --> <quotas> <default> <! result_rows><read_rows>0</read_rows><execution_time>3600</execution_time> </interval></limit_1> </quotas
Centeral Administration Choose Application Management On the left Navigate Choose Configure quotas Go to Sql Server Select the Database Hosing your affected site Collection Go to Site Collection Quotas
-- Sources to read users, roles, access rights, profiles of settings, quotas. --> <user_directories random</load_balancing> <readonly>1</readonly> </readonly> </profiles> <quotas <execution_time>0</execution_time> </interval> </default> </quotas
tty->print_cr("CPU Share count based on shares: %d", share_count); } } // If both shares and quotas PreferContainerQuotaForCPUCount. // If true, limit CPU count to quota // If false, use minimum of shares and quotas
DBA_TAB_PRIVS All grants on objects in the database DBA_TRIGGERS All triggers in the database DBA_TS_QUOTAS Tablespace quotas for all users DBA_USERS Information about all users of the database DBA_VIEWS Description