基于Hadoop YARN之上的PaaS构想
发布日期:2021-05-08 01:05:39 浏览次数:39 分类:精选文章

本文共 1190 字,大约阅读时间需要 3 分钟。

前言

在Hadoop YARN的发展早期,社区曾讨论过在YARN之上提供PaaS服务的可能性。当时,业界已有许多企业提供基于付费模式的PaaS服务。作为已被广泛部署于企业内部的Hadoop系统,提出在YARN上构建PaaS云服务的想法颇具大胆之处。然而,这一建议最终未能实现,只停留在讨论阶段。但这并不妨碍我们探讨其设计思路和构想。

PaaS服务

PaaS概念

PaaS(Platform as a Service,平台即服务)是一种基于互联网提供的服务模式。其核心理念是将底层平台资源(如服务器、硬件等)对外提供于用户,用户无需直接管理这些资源,而是将重心放在自身应用开发和运行上。

PaaS的基本架构

PaaS的架构通常可分为三层:

  • 客户端层:提供给用户使用的应用命令和接口。
  • 系统核心结构层:处理客户端请求转发、服务监控及健康管理。
  • 应用服务层:提供应用运行时环境,支持多租户运行模式。
  • 此外,PaaS还需要一个重要角色——路由控制器。其职责是接收用户请求,根据配置信息将请求转发至相应的应用服务实例。

    YARN之上的PaaS构想

    为什么选择YARN?

    选择YARN作为PaaS的基础有以下几个原因:

  • 对硬件无特别要求:YARN适用于普通化服务器集群,与PaaS的服务模式一致。
  • 企业内部部署:许多企业已部署Hadoop集群,上层直接构建PaaS迁移成本较低。
  • 架构兼容性:YARN的三层架构(客户端、Core、Application)与PaaS架构相互呼应。
  • 学习成本低:Hadoop作为一个成熟的Java框架,对于大多数开发者来说无需高额学习成本。
  • 构想细节

    基于YARN的PaaS构想核心在于将PaaS服务与YARN的关键组件对应:

  • 容器:PaaS中的容器对应YARN的Container容器。
  • 主控制器:PaaS的主控制器对应YARN的ResourceManager(RM)。
  • 应用存储:PaaS中的应用执行包存储可借助Hadoop的HDFS文件系统实现。
  • 此外,还需要引入路由控制器(Router),其功能为:

  • 接收用户应用启动请求。
  • 将请求转发至对应的应用服务实例。
  • 与Zookeeper进行状态同步,确保服务可用性。
  • 架构设计

    完整的YARN-PaaS架构图如下:

  • 用户请求启动:用户通过命令启动应用,请求RM启动AppMaster。
  • AppMaster申请资源:AppMaster向RM申请多个Container,并注册与Container的关系信息至Zookeeper。
  • 路由控制:Router根据Zookeeper存储的映射关系,将用户请求转发至具体Container执行。
  • 参考资料

    [1] PaaS on YARN: an YARN application to demonstrate that YARN can be used as a PaaS

    上一篇:Yarn支持队列内多优先级应用调度
    下一篇:YARN队列优先级分配策略

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年03月24日 23时07分09秒