6

Apache Hadoop Yarn与Kubernetes比较选择 - codehunter

 2 years ago
source link: https://www.jdon.com/58504
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Apache Hadoop Yarn与Kubernetes比较选择

Kubernetes用于将 Docker 容器内核扩展为一个平台。Kubernetes 开发采用自下而上的方法。它在指定每个容器/pod 资源需求方面有很好的优化,但它缺乏一个有效的全局调度程序,可以将资源划分为逻辑分组。Kubernetes 设计允许多个调度程序在集群中运行。每个调度程序都在自己的 pod 中管理资源。

但是,当应用程序需要的资源超出物理系统的处理能力时,Kubernetes 集群可能会受到不稳定的影响。

Kubernetes 安全性默认是开放的,除非 RBAC 定义了细粒度的角色绑定。为 pod 正确设置了安全上下文。如果省略,pod 的主要组将默认为 root,这对于试图保护基础架构的系统管理员来说可能是个问题。

Apache Hadoop YARN 被开发用于运行隔离的 Java 进程来处理大数据工作负载,然后改进以支持 Docker 容器。

YARN 提供全局级别的资源管理,例如将物理资源划分为逻辑单元的容量队列。可以为每个业务单位分配一定百分比的集群资源。容量资源共享系统旨在保证企业优先级的资源可用性,而不是挤压所有可用的物理资源。YARN 确实在安全性方面得分更高。Kerberos 中有更多的安全特性、特权/非特权容器的访问控制、受信任的 docker 映像和放置策略约束。

大多数 docker 相关的安全性默认关闭,系统管理员需要手动打开标志以授予容器更多的权力。

与 Kubernetes 相比,大型企业更倾向于运行 Hadoop,因为保护系统成本更低。

还有更多基于 YARN 构建的分布式 SQL 引擎,包括 Hive、Impala、SparkSQL 和 IBM BigSQL。

数据库选项使 YARN 成为一个有吸引力的选项,因为它能够在容器中运行在线事务处理,以及使用批处理工作负载进行在线分析处理。

adoop Developer 工具链可能会让人不知所措。Mapreduce、Hive、Pig、Spark等,各有各的开发风格。用户体验不一致,需要一段时间才能全部了解。相比之下,Kubernetes 感觉不那么碍事,因为它只部署 docker 容器。通过引入 YARN 服务来运行 Docker 容器工作负载,YARN 可以感觉不如 Kubernetes 啰嗦。

如果您的计划是将 IT 运营外包给公共云,请选择 Kubernetes。如果您的计划是构建私有/混合/多云,请选择 Apache YARN。

人们选择在 kubernetes 上运行 Spark 的最大原因:

Yarn 只是一种资源共享机制,而 Kubernetes 是一个完整的平台,包括 ConfigMaps、声明性环境管理、秘密管理、卷挂载、一个设计得非常好的 API 用于与所有这些东西交互、基于角色的访问控制、并且 Kubernetes 得到广泛使用,这意味着人们可以很容易地找到要雇用的候选人和要购买的工具。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK