大数据资源管理方案研究

举报
大数据资源管理 发表于 2021/06/26 15:40:44 2021/06/26
【摘要】 在实际的大数据工程部署中,多个业务部门经常需要运行多个数据应用,在搭建Hadoop集群时,经常面临如何划分大数据集群及进行资源隔离的问题。本文分析如何综合使用物理多租和逻辑多租,来进行大数据集群划分和资源管理。
  1. 研究背景

在实际的大数据工程部署中,多个业务部门经常需要运行多个数据应用,在搭建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的管控节点,同时也能保证各项业务的资源隔离。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。