YARN 服务
总览
Yarn 服务框架为在 Yarn 原生环境里长时间运行的服务,提供了一流的支持和接口。简言之,它扮演了容器编排系统的角色,统一管理 Yarn 上运行的容器化服务。它同时支持 Docker 容器和传统基于进程的 Yarn 容器。
本框架的职责包括配置实现和挂载,生命周期管理,如在 Yarn 上启动/停止/删除服务,服务组件的启停/伸缩,服务的滚动升级。
Yarn 服务框架主要包括以下组件:
- 一个运行在 Yarn 上的核心框架(ApplicationMaster),担任容器编排者,负责管理所有服务的生命周期。
- 一套 RESTful API 服务器,用于用户和 Yarn 进行通信,通过简单的 JSON 描述实现服务的部署/管理。
- 由 Yarn Registry 支持的 DNS 服务器,实现基于标准 DNS 查找过程的服务发现。
为什么要尝试 Yarn 服务框架?
Yarn 服务框架简化了部署已有服务到 Yarn 的过程。它隐藏了程序管理的所有复杂的、底层的细节,让用户从不断写新代码中解脱出来。新服务的开发者无需担心 Yarn 的内部机制,只需关心如何容器化它们的服务。
该功能带来的另一个巨大便利是,你可以在一个平台同时运行传统的批处理作业和长时服务!组合者两种工作负荷的好处显而易见:
- 极大地简化集群操作,因为你只需要和一个集群打交道。
- 让批处理作业和服务共享一个集群能极大地提高资源利用率。
深入了解
- 概念:描述框架的内部结构和用于支持在 Yarn 上运行服务的 Yarn 核心功能。
- 服务 REST API:在 Yarn 上部署/管理服务的 API 文档。
- 服务发现:描述 Yarn 上的服务发现机制。
- Registry DNS:升入 Registry DNS 的内部。
- 示例:提供一些示例服务的描述(YarnFile)。
- 配置:讲述如何在 Yarn 上配置自定义服务。
- 服务升级:讲述如何升级一个 Yarn 服务(实验功能)。