云服务器内容精选

  • 多租户使用说明 租户主要用于资源控制、业务隔离的场景。在实际业务中,用户需要先明确使用集群资源的业务场景,规划租户。 多租户使用包含三类操作:创建租户、管理租户和管理资源。各操作的具体动作如表1所示。 表1 使用租户的各种操作 操作 具体动作 说明 创建租户 添加租户 添加子租户 添加用户并绑定租户的角色 创建租户时,便可根据业务需求,为租户配置计算资源、存储资源和关联服务;为租户添加用户,并为用户绑定需要的角色。 创建一级租户的用户,需要绑定“Manager_administrator”或“System_administrator”角色。 创建子租户的用户,至少需要绑定父租户对应的角色。 管理租户 管理租户目录 恢复租户数据 清除租户非关联队列 删除租户 管理租户是随着业务变化对租户进行的编辑操作。 管理或删除一级租户的用户,以及恢复租户数据的用户,需要绑定“Manager_administrator”或“System_administrator”角色。 管理或删除子租户的用户,至少需要绑定父租户对应的角色。 管理资源 添加资源池 修改资源池 删除资源池 配置队列 配置资源池的队列容量策略 清除队列配置 管理资源是随着业务变化对租户再次配置资源的操作。 管理资源的用户,需要绑定“Manager_administrator”或“System_administrator”角色。
  • 多租户使用流程概述 在实际业务中,管理员需要先明确使用集群资源的业务场景,规划租户。然后在通过 MRS 添加租户,并配置租户的动态资源、存储资源以及所关联的服务。 创建租户的具体操作流程如表2所示。 图1 创建租户流程 表2 创建租户的操作说明 操作 说明 添加租户 可配置待添加租户的计算资源、存储资源和关联服务。 添加子租户 可配置待添加子租户的计算资源、存储资源和关联服务。 添加用户并绑定租户的角色 若一个用户想要使用“tenant1”租户包含的资源,或为“tenant1”租户添加/删除子租户,则需要同时绑定“Manager_tenant”和“tenant1_集群ID”两个角色。
  • 多租户资源概述 MRS集群的资源分为计算资源和存储资源。多租户可实现资源的隔离。 计算资源 计算资源包括CPU和内存。租户之间不可以相互占用计算资源,私有计算资源独立。 计算资源可分为静态服务资源和动态资源: 大数据集群为Yarn分配的资源是静态服务资源,可以由Yarn动态分配给任务队列计算使用。 静态服务资源 静态服务资源是集群分配给各个服务的计算资源,每个服务的计算资源总量固定,不与其他服务共享,是静态的。这些服务包括Flume、HBase、HDFS和Yarn。 动态资源 Yarn是大数据集群中的分布式资源管理服务,大数据集群为Yarn分配资源,资源总量可配置。Yarn内部为任务队列进一步分配和调度计算资源。对于MapReduce、Spark、Flink和Hive的任务队列,计算资源完全由Yarn来分配和调度。 Yarn任务队列是计算资源分配的基本单位。 对于租户,通过Yarn任务队列申请到的资源是动态资源。用户可以动态创建并修改任务队列的配额,可以查看任务队列的使用状态和使用统计。 资源池: 现代企业IT经常会面对纷繁复杂的集群环境和上层需求。例如以下业务场景: 集群异构,集群中各个节点的计算速度、存储容量和网络性能存在差异,需要把复杂应用的所有任务按照需求,合理地分配到各个计算节点上。 计算分离,多个部门需要数据共享,但是需要把计算完全分离在不同的计算节点上。 这就要求对计算资源的节点进一步分区。 资源池用来指定动态资源的配置。Yarn任务队列和资源池关联,可实现资源的分配和调度。 一个租户只能设置一个默认资源池。用户通过绑定租户相关的角色,来使用该租户资源池的资源。若需要使用多个资源池的资源,可通过绑定多个租户相关的角色实现。 动态资源调度机制: Yarn动态资源支持标签调度(Label Based Scheduling)策略,此策略通过为计算节点(Yarn NodeManager)创建标签(Label),将具有相同标签的计算节点添加到同一个资源池中,Yarn根据任务队列对资源的需求,将任务队列和有相应标签的资源池动态关联。 例如,集群中有40个以上的节点,根据各节点的硬件和网络配置,分别用Normal、HighCPU、HighMEM、HighIO为四类节点创建标签,添加到四个资源池中,资源池中的各节点性能如表3所示。 表3 不同资源池中的各节点性能 标签名 节点数 硬件和网络配置 添加到 关联 Normal 10 一般 资源池A 普通的任务队列 HighCPU 10 高性能CPU 资源池B 计算密集型的任务队列 HighMEM 10 大量内存 资源池C 内存密集型的任务队列 HighIO 10 高性能网络 资源池D IO密集型的任务队列 任务队列只能使用所关联的资源池里的计算节点。 普通的任务队列关联资源池A,使用硬件和网络配置一般的Normal节点。 计算密集型的任务队列关联资源池B,使用具有高性能CPU的HighCPU节点。 内存密集型的任务队列关联资源池C,使用具有大量内存的HighMEM节点。 IO密集型的任务队列关联资源池D,使用具有高性能网络的HighIO节点。 Yarn任务队列与特定的资源池关联,可以更有效地使用资源,保证节点性能充足且互不影响。 FusionInsight Manager中最多支持添加50个资源池。系统默认包含一个默认资源池。 存储资源 存储资源包括磁盘或第三方存储系统。租户之间不可以相互访问数据,私有存储资源独立。 HDFS是大数据集群中的分布式文件存储服务,存放大数据集群上层应用的所有用户数据,例如写入HBase表或Hive表的数据。 目录是HDFS存储资源分配的基本单位。HDFS支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,在目录中创建、删除、移动或重命名文件。租户通过指定HDFS文件系统的目录来获取存储资源。 存储资源调度机制如下: 系统支持将HDFS目录存储到指定标签的节点上,或存储到指定硬件类型的磁盘上。例如以下业务场景: 实时查询与数据分析共集群时,实时查询只需部署在部分节点上,其数据也应尽可能的只存储在这些节点上。 关键数据根据实际业务需要保存在具有高度可靠性的节点中。 管理员可以根据实际业务需要,通过数据特征灵活配置HDFS数据存储策略,将数据保存在指定的节点上。 对于租户,存储资源是各租户所占用的HDFS资源。可以通过将指定目录的数据存储到租户配置的存储路径中,实现存储资源调度,保证租户间的数据隔离。 用户可以添加/删除租户HDFS存储目录,设置目录的文件数量配额和存储空间配额来管理存储资源。
  • 调度器介绍 多租户根据调度器类型分为开源的Capacity调度器和增强型Superior调度器,MRS集群默认即启用了Superior调度器。 Capacity调度器为开源的容量调节器。 Superior调度器为增强型,Superior取名源自苏必利尔湖,意指由该调度器管理的数据足够大。 调度器类型可通过Yarn服务的“yarn.resourcemanager.scheduler.class”参数值查询。调度器类型切换参考切换MRS租户资源调度器。 为满足企业需求,克服Yarn社区在调度上遇到的挑战与困难,Superior调度器不仅集合了当前Capacity调度器与Fair调度器的优点,还做了以下增强: 增强资源共享策略 Superior调度器支持队列层级,在同集群集成开源调度器的特性,并基于可配置策略进一步共享资源。针对实例,管理员可通过Superior调度器为队列同时配置绝对值或百分比的资源策略计划。Superior调度器的资源共享策略将Yarn的标签调度增强为资源池特性,Yarn集群中的节点可根据容量或业务类型不同,进行分组以使队列更有效地利用资源。 基于租户的资源预留策略 部分租户可能在某些时间中运行关键任务,租户所需的资源应保证可用。Superior调度器构建了支持资源预留策略的机制,在这些租户队列运行的任务可立即获取到预留资源,以保证计划的关键任务可正常执行。 租户和资源池的用户公平共享 Superior调度器提供了队列内用户间共享资源的配置能力。每个租户中可能存在不同权重的用户,高权重用户可能需要更多共享资源。 大集群环境下的调度性能优势 Superior调度器接收到各个NodeManager上报的心跳信息,并将资源信息保存在内存中,使得调度器能够全局掌控集群的资源使用情况。Superior调度器采用了push调度模型,令调度更加精确、高效,大大提高了大集群下的资源使用率。另外,Superior调度器在NodeManager心跳间隔较大的情况下,调度性能依然优异,不牺牲调度性能,也能避免大集群环境下的“心跳风暴”。 优先策略 当某个服务在获取所有可用资源后还无法满足最小资源的要求,则会发生优先抢占。抢占功能默认关闭。
  • 相关模型 多租户相关模型: 多租户相关模型如下图所示。 图1 多租户相关模型 图1中涉及的概念如表1所示。 表1 相关概念说明 概念 说明 用户 用户是拥有用户名,密码等账号信息的自然人,是大数据集群的使用者。 图中有三个不同的用户:用户A、用户B和用户C。 角色 角色是承载一个或多个权限的载体。权限是限定在具体对象上的,例如对HDFS中的“/tenant”目录的访问权限,这里权限就限定在“/tenant”目录这个具体对象上。 图中有四个不同的角色:角色“t1”、角色“t2”、角色“t3”和角色“Manager_tenant”。 角色“t1”、角色“t2”和角色“t3”为创建租户时,集群自动生成的角色,角色名和租户名相同,分别对应租户“t1”、租户“t2”和租户“t3”,不能单独使用。 角色“Manager_tenant”为集群中本身存在的角色,不能单独使用。 租户 租户是从大数据集群中划分出的资源集合。多个不同的租户统称为多租户,租户内部进一步划分出的资源集合是子租户。 图中有三个不同的租户:租户“t1”、租户“t2”和租户“t3”。 资源 计算资源包括CPU和内存。 租户的计算资源是从集群总计算资源中划分出的,租户之间不可以互占计算资源。 图中:计算资源1、计算资源2和计算资源3分别是租户“t1”、租户“t2”和租户“t3”从集群中划分出的计算资源。 存储资源包括磁盘或第三方存储系统。 租户的存储资源是从集群总存储资源中划分出的,租户之间不可以互占存储资源。 图中:存储资源1、存储资源2和存储资源3分别是租户“t1”、租户“t2”和租户“t3”从集群中划分出的存储资源。 若用户想要使用租户资源或为租户添加/删除子租户,则需要同时绑定该租户对应的角色和角色“Manager_tenant”。在图1中,各用户绑定的角色如表2所示。 表2 各用户绑定的角色 用户 绑定的角色 权限 用户A 角色“t1” 角色“t2” 角色“Manager_tenant” 使用租户“t1”和租户“t2”的资源。 为租户“t1”和租户“t2”添加/删除子租户。 用户B 角色“t3” 角色“Manager_tenant” 使用租户“t3”的资源。 为租户“t3”添加/删除子租户。 用户C 角色“t1” 角色“Manager_tenant” 使用租户“t1”的资源。 为租户“t1”添加/删除子租户。 用户和角色是多对多的关系,一个用户可以绑定多个角色,一个角色可以被多个用户绑定。用户通过绑定角色和租户建立关系,因此用户和租户也是多对多的关系。一个用户可以使用多个租户的资源,多个用户也可以使用同一个租户的资源,例如图1中,用户A使用租户“t1”和租户“t2”的资源,用户A和用户C都使用租户“t1”的资源。 “父租户”、“子租户”、“一级租户”、“二级租户”的概念是针对客户的多租户业务场景设定的,注意与FusionInsight Manager上的“叶子租户资源”和“非叶子租户资源”的概念区别。 一级租户:按照租户所在层级确定名称,如最初创建的租户为一级租户,一级租户的子租户为二级租户。 父租户与子租户:用来表述租户间上下层级关系的称呼。 非叶子租户资源:创建租户时,选择的租户类型,该类型可以创建子租户。 叶子租户资源:创建租户时,选择的租户类型,该类型不可以创建子租户。 多租户平台: 租户是MRS大数据平台的核心概念,使传统的以用户为核心的大数据平台向以多租户为核心的大数据平台转变,更好的适应现代企业多租户应用环境,如图2所示。 图2 以用户为核心的平台和以多租户为核心的平台 对于以用户为核心的大数据平台,用户直接访问并使用全部的资源和服务。 用户的应用可能只用到集群的部分资源,资源利用效率低。 不同用户的数据可能存放在一起,难以保证数据安全。 对于以租户为核心的大数据平台,用户通过访问租户来使用需要的资源和服务。 按照应用需求分配和调度出需要的资源,以租户来统一使用,资源利用效率高。 用户通过分配不同的角色获得使用不同租户资源的权限,以保障访问安全。 不同的租户之间数据隔离,以保证数据安全。
  • 多租户概述 背景介绍: 现代企业的数据集群在向集中化和云化方向发展,企业级大数据集群需要满足: 不同用户在集群上运行不同类型的应用和作业(分析、查询、流处理等),同时存放不同类型和格式的数据。 某些类型的用户(例如银行、政府单位等)对数据安全非常关注,很难容忍将自己的数据与其他用户的放在一起。 这给大数据集群带来了以下挑战: 合理地分配和调度资源,以支持多种应用和作业在集群上平稳运行。 对不同的用户进行严格的访问控制,以保证数据和业务的安全。 多租户将大数据集群的资源隔离成一个个资源集合,彼此互不干扰,用户通过“租用”需要的资源集合,来运行应用和作业,并存放数据。在大数据集群上可以存在多个资源集合来支持多个用户的不同需求。 对此,MRS企业级大数据集群提供了完整的企业级大数据多租户解决方案。 MRS多租户介绍: MRS集群拥有的不同资源和服务支持多个组织、部门或应用共享使用。集群提供了一个逻辑实体来统一使用不同资源和服务,这个逻辑实体就是租户。当前仅分析集群支持租户。 多个不同的租户统称多租户。多租户是MRS集群中的多个资源集合(每个资源集合是一个租户),具有分配和调度资源的能力。资源包括计算资源和存储资源。MRS集群提供多租户的功能,支持层级式的租户模型,支持动态添加和删除租户,实现资源的隔离,可以对租户的计算资源和存储资源进行动态配置和管理。 计算资源指租户Yarn任务队列资源,可以修改任务队列的配额,并查看任务队列的使用状态和使用统计。 存储资源目前支持HDFS存储,可以添加删除租户HDFS存储目录,设置目录的文件数量配额和存储空间配额。 租户可以在界面上根据业务需要,在集群中创建租户、管理租户。 创建租户时将自动创建租户对应的角色、计算资源和存储资源。默认情况下,新的计算资源和存储资源的全部权限将分配给租户的角色。 默认情况下,查看当前租户的资源,在当前租户中添加子租户并管理子租户资源的权限将分配给租户的角色。 修改租户的计算资源或存储资源,对应的角色关联权限将自动更新。 MRS中最多支持512个租户。系统默认创建的租户包含“default”。和默认租户同处于最上层的租户,可以统称为一级租户。 资源池介绍: Yarn任务队列支持一种调度策略,称为标签调度(Label Based Scheduling)。通过此策略,Yarn任务队列可以关联带有特定节点标签(Node Label)的NodeManager,使Yarn任务在指定的节点运行,实现任务的调度与使用特定硬件资源的需求。例如,需要使用大量内存的Yarn任务,可以通过标签关联具有大量内存的节点上运行,避免性能不足影响业务。 在MRS集群中,租户从逻辑上对Yarn集群的节点进行分区,使多个NodeManager形成一个资源池。Yarn任务队列通过配置队列容量策略,与指定的资源池进行关联,可以更有效地使用资源池中的资源,且互不影响。 MRS中最多支持50个资源池。系统默认包含一个“default”资源池。 多租户优势介绍: 合理配置和隔离资源 租户之间的资源是隔离的,一个租户对资源的使用不影响其他租户,保证了每个租户根据业务需求去配置相关的资源,可提高资源利用效率。 测量和统计资源消费 系统资源以租户为单位进行计划和分配,租户是系统资源的申请者和消费者,其资源消费能够被测量和统计。 保证数据安全和访问安全 多租户场景下,分开存放不同租户的数据,以保证数据安全;控制用户对租户资源的访问权限,以保证访问安全。