YARN 服务

概述

Yarn 服务框架提供了一流的支持和 API,以便在 YARN 中以本机方式托管长期运行的服务。简而言之,它充当容器编排平台,用于管理 YARN 上的容器化服务。它支持 YARN 中的 docker 容器和基于传统进程的容器。

此框架的职责包括执行配置解析和挂载、生命周期管理(例如停止/启动/删除服务)、弹性扩展服务组件、在 YARN 上滚动升级服务、监视服务的运行状况和准备情况等。

yarn-service 框架主要包括以下组件

  • 在 YARN 上运行的核心框架(ApplicationMaster),用作容器编排器,负责所有服务生命周期管理。
  • 一个 restful API 服务器,供用户与 YARN 交互,以便通过简单的 JSON 规范部署/管理其服务。
  • 由 YARN 服务注册表支持的 DNS 服务器,以通过标准 DNS 查找在 YARN 上发现服务。

我为什么要尝试 YARN 服务框架?

YARN 服务框架使得将现有服务引入 YARN 变得容易。它隐藏了应用程序管理的所有复杂低级详细信息,并减轻了用户被迫编写新代码的负担。新服务开发人员不必担心 YARN 内部,只需专注于其服务容器化即可。

此外,此功能的另一个巨大优势是,现在您可以在单一平台中启用传统批处理作业和长期运行服务!合并这些工作负载的好处有两个方面

  • 极大地简化了集群操作,因为您只需要处理一个集群。
  • 让批处理作业和服务共享一个集群可以极大地提高资源利用率。

如何开始?

此功能处于 alpha 状态,因此 API 和命令行可能会发生更改。我们将不断更新文档。

快速入门展示了一个快速教程,指导您完成在 YARN 上部署服务的简单步骤。

如何动手?

  • 概念:描述了框架内部以及 YARN 核心中的某些功能,以支持在 YARN 上运行服务。
  • 服务 REST API:在 YARN 上部署/管理服务的 API 文档。
  • 服务发现:描述了 YARN 上的服务发现机制。
  • 注册表 DNS:深入了解注册表 DNS 内部。
  • 示例:列出一些示例服务定义(Yarnfile)。
  • 配置:描述如何在 YARN 上配置自定义服务。
  • 服务升级:描述如何升级 YARN 服务,这是一项实验性功能。