En 400-6655-581
5
返回列表
> 资源中心 > 技术干货 | 大数据平台的多租户管理

技术干货 | 大数据平台的多租户管理

2020-01-16浏览次数:1249

1、什么是租户,租户和用户的区别

租户和用户是两个常常会混淆的概念。简单来说,用户是一个资源的使用者,而租户通常是指一个企业或组织,租户对资源具有独占性和排他性。

打个比方,用户(User)好比是在大学宿舍中的一个大学生,他可以使用这个宿舍里的所有资源,其他用户也可以使用这些资源。


而租户(Tenant),就好比是猪笼城寨里的裁缝、苦力强。他们从包租婆那里租下一个房间,这个房间是他们各自独享的空间和资源。


一个租户中可以有多个用户,而一个用户也属于某个租户。


2、什么是多租户管理

多租户是一个软件架构,软件只有一个实例运行在服务器,并服务于多个租户。一个租户包含一组用户,他们拥有指定权限,共同访问一个软件实例。一个多租户架构,应用程序为每个租户提供一个专属于他们的数据、配置、用户管理、租户特有的功能和属性。

多租户技术有着悠久的历史,IBM大型机的时代开始,为了能充分利用当时非常昂贵的计算资源,就已经产生了用多租户的方式来进行资源的分配。





而如今随着云计算、SaaS服务的兴起,多租户模式也得到来越来越广泛的应用。


多租户管理的优点在于:


降低系统运维成本

通过多租户数据资源隔离机制,提高数据的安全性


3、大数据平台的多租户管理

随着数据量的飞速增长和大数据技术的日益成熟,越来越多的企业和政府机构着手建设基于Hadoop技术体系的大数据平台,并在大数据集群上陆续展开了越来越多的应用场景。在企业内部,大量业务应用架设在同一个Hadoop集群上,容易出现数据与集群资源混乱无序的状态。特别是对于集团性质的企业,有着强烈的统一建设大数据平台、共享资源的需求。既希望通过建设统一的大数据平台,供给各个下属子公司使用来降低成本,同时又必须能够做到各个下属子公司之间的数据隔离和资源分配,也就是要建立大数据平台的多租户管理机制。


然而,目前的开源大数据平台对于多租户管理的支持并不友好,对于用户来说缺少易于管理和配置的多租户管理工具。可以说在Hadoop技术栈中,租户这个概念是欠缺的。


实现大数据平台的多租户管理,最核心的功能是对各类大数据组件的资源、配额和权限管理,涉及到的主要资源类型有:


HDFS:空间配额和ACL访问权限

HBase:命名空间和表授权

Hive:库和表的访问权限

Kafka:队列的访问权限

YARN:计算资源(CPU和内存)的分配


大数据平台的多租户管理也需要用到一些相关的技术组件,包括:


Kerberos:大数据平台最常用的安全认证机制,通过一套密钥系统为大数据平台提供增强的安全性。

Sentry/Ranger:Sentry和Ranger都是Hadoop的授权机制,能够实现对HDFS、HBaseHive的基于角色的细粒度授权。Sentry包含在Cloudera CDH中,Ranger则由Hortonworks提供。随着Cloudera对Hortonworks的收购,两者也将走向融合。


大数据平台的多租户管理架构如图所示:




大数据集群可以被多个租户所使用;

集群管理员创建租户,为各个租户分配资源和空间配额,并指定各租户的租户管理员。

租户管理员可以创建项目,把资源进一步分配给各个项目,并指定项目管理员;

项目管理员对项目成员进行管理,项目的资源可以由项目成员共享,也可以通过Sentry/Ranger做进一步的权限管控。


3、派拉数据湖产品的多租户管理


派拉数据湖产品实现了基于CDH和开源Hadoop平台的开箱即用的多租户管理能力,包括租户的增、删、改,多层级的权限分配和资源管理、资源回收,资源使用的实时监控,使用量统计等。

创建租户,分配资源配额:




在租户之下创建项目:



资源使用的实时监控:



用户和角色管理:




在目前的开源大数据平台中,虽然已经有比较完善的用户权限控制和资源管理的功能,但是对于很多大中型客户所需要的多租户管理还是很欠缺的。派拉数据湖产品正是大数据平台多租户管理的利器,能够帮助企业实现既高效又安全的资源共享、分配和计量。