YARN 服务
总览
Yarn 服务框架为在 Yarn 原生环境里长时间运行的服务,提供了一流的支持和接口。简言之,它扮演了容器编排系统的角色,统一管理 Yarn 上运行的容器化服务。它同时支持 Docker 容器和传统基于进程的 Yarn 容器。
本框架的职责包括配置实现和挂载,生命周期管理,如在 Yarn 上启动/停止/删除服务,服务组件的启停/伸缩,服务的滚动升级。
Yarn 服务框架主要包括以下组件:
- 一个运行在 Yarn 上的核心框架(ApplicationMaster),担任容器编排者,负责管理所有服务的生命周期。
- 一套 RESTful API 服务器,用于用户和 Yarn 进行通信,通过简单的 JSON 描述实现服务的部署/管理。
- 由 Yarn Registry 支持的 DNS 服务器,实现基于标准 DNS 查找过程的服务发现。
为什么要尝试 Yarn 服务框架?
Yarn 服务框架简化了部署已有服务到 Yarn 的过程。它隐藏了程序管理的所有复杂的、底层的细节,让用户从不断写新代码中解脱出来。新服务的开发者无需担心 Yarn 的内部机制,只需关心如何容器化它们的服务。
Further, another huge win of this feature is that now you can enable both traditional batch processing jobs and long running services in a single platform! The benefits of combining these workloads are two-fold:
- Greatly simplify the cluster operations as you have only a single cluster to deal with.
- Making both batch jobs and services share a cluster can greatly improve resource utilization.
深入了解
- 概念:Describes the internals of the framework and some features in YARN core to support running services on YARN.
- 服务 REST API:The API doc for deploying/managing services on YARN.
- 服务发现:Describes the service discovery mechanism on YARN.
- Registry DNS:Deep dives into the Registry DNS internals.
- 示例:List some example service definitions (Yarnfile).
- 配置:Describes how to configure the custom services on YARN.
- 服务升级:Describes how to upgrade a YARN service which is an experimental feature.