大数据资源管理方案研究
- 研究背景
在实际的大数据工程部署中,多个业务部门经常需要运行多个数据应用,在搭建Hadoop集群时,经常面临如何划分大数据集群及进行资源隔离的问题。另外,由于预算有限等原因,数据运维部门也有控制预算,减少大数据集群节点个数,同时保证重点业务性能等诉求。
现有大数据集群一般支持2种资源管理方式,包括物理多租和逻辑多租,分别介绍如下。在物理多租模式中,每个租户拥有自己的MRS集群,资源和数据物理隔离。它的特点如下:
- 租户间的资源完全物理隔离,隔离级别较高,租户间完全互不影响;但空闲资源无法供其他租户使用,存在资源浪费。
- 不同租户的数据在不同集群内,数据共享需要手工搬运数据,效率较低;
- 管理模式比较简单,对管理员技能要求相对较低;
- 运维管理工作量较大,需要维护多套集群。比如集群升级需要每个集群逐一升级。
在逻辑多租模式中,多个租户共用同一个集群,通过集群内的多租户安全体系,实现多租户之间的资源资源和权限管控。它的特点如下:
- 租户间的资源可以动态调配,A租户不使用的资源可供B租户使用,有助于提升平台的整体资源利用率;
- 不同租户间的数据在同一平台内,可通过权限放通实现数据的共享,数据免搬运;
- 对管理员技能要求高,要求熟悉各个多租户的特性与基本原理,合理进行多租户资源和权限的规划和分配;
- 运维管理工作量较小,一套集群统一管理。
图1. 大数据物理多租示意图
图2. 大数据逻辑多租示意图
2. 问题分析
在进行大数据集群划分时,需要实现两个主要目标。首先,需要确保不同数据业务之间的资源隔离,保证各个数据业务的性能;其次,为了控制预算,需要想办法减少节点个数。为了实现上述两个目标,需要做以下三方面的工作:
- 工作一、为了减少节点个数,需要合并集群,
- 减少MRS集群个数,减少MRS管控节点;
- 工作二、采用逻辑多租和多实例,实现资源隔离,
- 对于支持YARN的组件,通过逻辑多租实现,实现资源隔离;
- 对于不支持YARN的组件,通过多实例和物理机部署,实现资源隔离;
- 工作三、部分组件进一步合部,减少节点个数,
- 支持YARN的组件(HIVE/SPARK/HETU/FLINK),适配同样硬件的组件,可以合部在一个资源池内,通过多租户机制隔离,进一步减少节点个数;
- 对于多个HBASE集群,采用多实例的方法,进行硬件资源隔离。
为了既能保证重点业务的性能,又能减少节点个数,只能将既适配同样硬件,又能基于同一资源调度器工作的组件合部。下面,我们就分析不同大数据组件适配的硬件类型,主要是从硬盘类型、资源调度器、业务类型等角度分析。
组件分类 |
服务名 |
计算资源调度器 |
推荐数据盘类型 |
MRS管控节点 |
管理节点 |
SSD |
|
控制节点 |
SSD |
||
MRS离线分析 |
HIVE |
YARN |
SATA |
SPark |
YARN |
SATA |
|
MRS实时检索 |
HBase |
YARN |
SATA |
ElasticSearch |
非YARN |
SAS |
|
MRS流式处理 |
Flink |
YARN |
SSD |
Flume |
非YARN |
SSD |
|
Redis |
非YARN |
SSD |
|
Kafka |
非YARN |
SAS |
|
MRS交互式分析 |
Hetu |
YARN |
SATA |
表1. 大数据组件分类
- 考虑因素一、计算资源调度器不同,放在不同的节点
- 基于YARN的组件,包括HIVE/SPARKE/Flink/Hetu/;
- 不是基于YARN的组件,包括Flume/REDIS/ES/KAFKA;
- 考虑因素二、硬盘类型相同,才能合布
- SSD:flink、flume、Redis;
- SATA:spark + hive, hbase, hetu引擎;
- SAS: ElasticSearch, Kafka;
- 考虑因素三、业务分类
- 离线分析业务,HIVE/SPARK/HBASE/ES/HETU;
- 实时流式处理业务,Flink/Redis/Kafka;
其中,实时流式处理业务对可靠性要求较高,建议单独部署。
3. 方案介绍
图3. 大数据资源管理策略
为了解决上述问题,我们提出如下方案。首先,我们将组件分为支持YARN的组件和不支持YARN的组件,主要策略如下。
- 主要策略一,针对支持YARN调度的组件,通过资源池进行资源隔离,主要步骤如下:
- 规划机器资源,将相关资源规划给支持YARN的组件,并在这些机器上面安装Node Manager;
- 通过资源池将计算节点分开,不同的租户应用跑到不同的机器上;
- 可以支持SATA硬盘的组件,分配统一的资源池,通过租户、子租户机制,进一步划分资源;
- 要求SSD盘的组件,分配相应的资源池和租户,通过租户,独占资源。
- 主要策略二,针对不支持YARN调度的组件,通过物理机隔离,这些物理机不装Node Manager。主要步骤如下:
- 规划机器资源,将相关资源规划给不支持YARN的组件,不要在这些机器上面安装Node Manager;
- 针对其不同组件要求不同的硬盘类型,分配不同的机器,并在上面安装不同的组件;
- 针对多个HBASE集群,采用多实例和硬件隔离的方式,进行资源隔离;
- 如果单个子集群的负载过小,且适配同样硬件的组件,可以进一步合部。
4.方案案例
图4. 物理机集群部署方案
图5. 逻辑多租部署方案
下面我们结合一个具体的项目,对比以下物理机集群方案和逻辑部署方案的效果。在图4,描述了一个物理机部署方案,共有6集群,30控节点。在图5,将上述6集群合并为一个集群,通过资源池和多实例的方式,来做资源隔离。对比两个方案,可以发现以逻辑多租为主的部署方案,将显著减少MRS的管控节点,同时也能保证各项业务的资源隔离。
- 点赞
- 收藏
- 关注作者
评论(0)