写点什么

Apache 拟在 Docker 中运行 Hadoop

  • 2014-09-04
  • 本文字数:840 字

    阅读完需:约 3 分钟

Apache 在其 Hadoop wiki 上整理了 Docker 中运行 Hadoop 的优势,以及要完全在 Docker 中运行 Hadoop 所需要完成的工作。在 Docker,或者说其它容器中运行 Hadoop YARN 有很多优势,具体如下:

  1. 软件依赖和配置的隔离:在 Docker 中运行的应用,其软件依赖和配置是与宿主机完全没有关系的,跟其其它行在 Docker 中的应用也没有关系;
  2. 安全性:运行在 Docker 中的应用,在没有主动配置的情况下,基本没有办法访问(即便是 Docker 镜像中的 root 权限)宿主文件系统的内容,这可以很好的保护宿主文件系统、设备等等;
  3. 性能隔离:Docker 可以对应用所需要的资源,如 CPU 计算资源、内存资源、存储资源、带宽等进行调控;
  4. 一致性:只要是源自同一个 Docker 镜像,所有的任务就具有完全一致的软件环境,跟宿主环境无关。比如一个 Ubuntu 镜像可以像使用真正 Ubuntu 系统一样利用其特性,哪怕宿主机器是 RHEL;
  5. 快速部署:Docker 有着强大的镜像存储和分发能力,开发者可以很方便的从镜像中心获取 Hadoop YARN 应用的镜像;
  6. 可编程:通过 Dockerfile,开发者可以非常方便地对 YARN 应用的文件系统、环境配置和运行的脚本进行设置;

虽然容器的优势是明显的,但是目前 Docker 和 YARN 的情况却无法支撑完全在 Docker 中运行 Hadoop YARN 任务,Apache 提出需要对 Docker 和 YARN 进行修改的想法,并给出了一些目前计划的工作:

  1. YARN 的 Docker 执行器;
  2. Docker 需要支持 user namespaces,以便可以将 Docker 镜像中的 root 用户映射到宿主机的普通用户,来控制用户对宿主文件系统的访问;
  3. 容器的网络配置:这项工作主要为了让 YARN 的主节点同其他节点通信,Docker 现有的 NAT IP 地址不允许运行在某个镜像中的任务访问另外一台物理宿主上运行的其他任务;
  4. 动态配置资源限制:目前 Docker 不支持动态对镜像资源进行配置;

感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-09-04 03:483094
用户头像

发布了 268 篇内容, 共 124.3 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

让你高效工作与学习的免费工具(1)

石云升

高效工作 效率工具 工具

业余前端的日常

顿晓

学习 大前端 日常 专家 知识体系

从一次排查ES线上问题得出的总结——熔断机制

罗琦

elasticsearch 源码分析 circuit break 熔断

对于程序员,那些既陌生又熟悉的计算机硬件

架构师修行之路

微软 编程 程序员 cpu 架构师

Python 核心技术与进阶 list & tuple

Bonaparte

MySQL常用权限说明

一个有志气的DB

MySQL 用户研究

Android | Tangram动态页面之路(二)介绍

哈利迪

android

面试官:小伙子,听说你看过ThreadLocal源码?(万字图文深度解析ThreadLocal)

一枝花算不算浪漫

源码 并发编程 ThreadLocal

Mac 使用笔记

FeiLong

谈谈控制感(5):怎么破控制感损失的局

史方远

职场 心理 成长

松哥手把手带你入门 Spring Security,别再问密码怎么解密了

江南一点雨

Java spring Spring Boot spring security

如何在一台计算机上安装多个 JDK 版本

mghio

Java jdk 版本管理工具

设计模式之观察者模式

设计模式

《零基础学 Java》 FAQ 之 7-Java 中的内存是怎么分配的

臧萌

Java JVM

一文带你看清HTTP所有概念

苹果看辽宁体育

HTTP

游戏夜读 | Scikit-learn迎来0.21之前

game1night

Rust 与区块链四月月刊

Aimee 阿敏

区块链 rust 加密货币 crypto

松哥手把手教你定制 Spring Security 中的表单登录

江南一点雨

Java spring Spring Boot spring security

尽管HTTP/3已经来了,HTTP/2也得了解啊

清远

网络协议 HTTP

Java新技术:封闭类

X.F

Java 架构 编程语言

《后浪》产品经理篇(恶搞版)

静陌

产品经理 后浪

Redis稳定性实践

心平气和

redis 缓存 稳定性

更聪明地学习,而不是苦读——《如何高效学习》

mzlogin

学习

Harbor 2.0的飞跃: OCI 兼容的工件仓库

亨利笔记

Kubernetes 容器 k8s Harbor 镜像

严选合伙人(二)

Neco.W

创业 重新理解创业 合伙人

聊聊我对技术一些性质的认识

Tanzv

技术 思考 新人

Xtrabackup的安装使用

一个有志气的DB

MySQL 工具 数据的分片和备份

如果你觉得学习 Git 很枯燥,那是因为你还没玩过这款游戏!

GitHubDaily

git GitHub 编程 程序员 开发者工具

OpenResty部署配置和日志切割

wong

nginx centos openresty

sync.Map源码分析

陈思敏捷

源码 源码分析 Go 语言

回“疫”录(18):536公里的路

小天同学

疫情 回忆录 现实纪录 纪实 返程

Apache拟在Docker中运行Hadoop_开源_张天雷_InfoQ精选文章