大数据资源管理方案研究

1.研究背景

在实际的大数据工程部署中,多个业务部门经常需要运行多个数据应用,在搭建Hadoop集群时,经常面临如何划分大数据集群及进行资源隔离的问题。另外,由于预算有限等原因,数据运维部门也有控制预算,减少大数据集群节点个数,同时保证重点业务性能等诉求。

现有大数据集群一般支持2种资源管理方式,包括物理多租和逻辑多租,分别介绍如下。在物理多租模式中,每个租户拥有自己的MRS集群,资源和数据物理隔离。它的特点如下:

  • 租户间的资源完全物理隔离,隔离级别较高,租户间完全互不影响;但空闲资源无法供其他租户使用,存在资源浪费。
  • 不同租户的数据在不同集群内,数据共享需要手工搬运数据,效率较低;
  • 管理模式比较简单,对管理员技能要求相对较低;
  • 运维管理工作量较大,需要维护多套集群。比如集群升级需要每个集群逐一升级。

在逻辑多租模式中,多个租户共用同一个集群,通过集群内的多租户安全体系,实现多租户之间的资源资源和权限管控。它的特点如下:

  • 租户间的资源可以动态调配,A租户不使用的资源可供B租户使用,有助于提升平台的整体资源利用率;
  • 不同租户间的数据在同一平台内,可通过权限放通实现数据的共享,数据免搬运;
  • 对管理员技能要求高,要求熟悉各个多租户的特性与基本原理,合理进行多租户资源和权限的规划和分配;
  • 运维管理工作量较小,一套集群统一管理。

大数据资源管理方案研究_第1张图片
图1. 大数据物理多租示意图

大数据资源管理方案研究_第2张图片
图2. 大数据逻辑多租示意图

2.问题分析

在进行大数据集群划分时,需要实现两个主要目标。首先,需要确保不同数据业务之间的资源隔离,保证各个数据业务的性能;其次,为了控制预算,需要想办法减少节点个数。为了实现上述两个目标,需要做以下三方面的工作:

工作一、为了减少节点个数,需要合并集群,

  • 减少MRS集群个数,减少MRS管控节点;

工作二、采用逻辑多租和多实例,实现资源隔离,

  • 对于支持YARN的组件,通过逻辑多租实现,实现资源隔离;
  • 对于不支持YARN的组件,通过多实例和物理机部署,实现资源隔离;

工作三、部分组件进一步合部,减少节点个数,

  • 支持YARN的组件(HIVE/SPARK/HETU/FLINK),适配同样硬件的组件,可以合部在一个资源池内,通过多租户机制隔离,进一步减少节点个数;
  • 对于多个HBASE集群,采用多实例的方法,进行硬件资源隔离。

为了既能保证重点业务的性能,又能减少节点个数,只能将既适配同样硬件,又能基于同一资源调度器工作的组件合部。下面,我们就分析不同大数据组件适配的硬件类型,主要是从硬盘类型、资源调度器、业务类型等角度分析。
大数据资源管理方案研究_第3张图片
表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.方案介绍
大数据资源管理方案研究_第4张图片
图3. 大数据资源管理策略

为了解决上述问题,我们提出如下方案。首先,我们将组件分为支持YARN的组件和不支持YARN的组件,主要策略如下。

主要策略一,针对支持YARN调度的组件,通过资源池进行资源隔离,主要步骤如下:

  • 规划机器资源,将相关资源规划给支持YARN的组件,并在这些机器上面安装Node Manager;
  • 通过资源池将计算节点分开,不同的租户应用跑到不同的机器上;
  • 可以支持SATA硬盘的组件,分配统一的资源池,通过租户、子租户机制,进一步划分资源;
  • 要求SSD盘的组件,分配相应的资源池和租户,通过租户,独占资源。

主要策略二,针对不支持YARN调度的组件,通过物理机隔离,这些物理机不装Node Manager。主要步骤如下:

  • 规划机器资源,将相关资源规划给不支持YARN的组件,不要在这些机器上面安装Node Manager;
  • 针对其不同组件要求不同的硬盘类型,分配不同的机器,并在上面安装不同的组件;
  • 针对多个HBASE集群,采用多实例和硬件隔离的方式,进行资源隔离;
  • 如果单个子集群的负载过小,且适配同样硬件的组件,可以进一步合部。

4.方案案例

大数据资源管理方案研究_第5张图片
图4. 物理机集群部署方案

大数据资源管理方案研究_第6张图片
图5. 逻辑多租部署方案

下面我们结合一个具体的项目,对比以下物理机集群方案和逻辑部署方案的效果。在图4,描述了一个物理机部署方案,共有6集群,30控节点。在图5,将上述6集群合并为一个集群,通过资源池和多实例的方式,来做资源隔离。对比两个方案,可以发现以逻辑多租为主的部署方案,将显著减少MRS的管控节点,同时也能保证各项业务的资源隔离。

本文由华为云发布

你可能感兴趣的:(程序员)