写点什么

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:483197
用户头像

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

关注

评论

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

10天拿到阿里Android岗offer,深入剖析

android 面试 移动开发

异地多活知识总结

十二万伏特皮卡丘

Prometheus 2.25.0 新特性

耳东@Erdong

release Prometheus 9月日更

10天拿到字节跳动Android岗位offer,【面试必会】

android 面试 移动开发

10天拿到字节跳动安卓岗位offer,阿里内部Android应届生就业宝典

android 面试 移动开发

2021Android岗面试题知识点小结,Android程序员必看

android 面试 移动开发

1-3年Android开发工程师面试经验分享,程序员去大公司面试

android 面试 移动开发

10天用Flutter撸了个高仿携程App,薪资翻倍

android 面试 移动开发

2019-2021历年阿里Android面试真题,面试杀手锏

android 面试 移动开发

10天拿到字节跳动Android岗位offer,看完跪了

android 面试 移动开发

Groovy参数默认值在接口测试中应用

FunTester

接口测试 Groovy FunTester 参数默认值 重载

2021Android常见笔试题,字节面试官

android 面试 移动开发

2020-2021阿里巴巴安卓面试真题解析,2021最新版

android 面试 移动开发

22. 哪种工作最容易被AI取代

Databri_AI

人工智能

10天拿到阿里Android岗offer,面试必知必会

android 面试 移动开发

2020-2021华为Android面试真题,大厂内部资料

android 面试 移动开发

Kotlin DSL实现原理介绍

maijun

kotlin dsl

浅谈函数式编程与 Stream

Dobbykim

详解网商银行“三地五中心”数据部署架构

博文视点Broadview

12个View绘制流程高频面试题,膜拜大牛

android 面试 移动开发

1307页字节跳动Android面试全套真题解析火了,阿里P8大牛亲自教你

android 面试 移动开发

2019-2021历年字节跳动Android面试真题解析,字节跳动高工面试

android 面试 移动开发

关于一场甲乙双方争议的思考

boshi

创业 项目管理

2021Android大厂面试真题,2021Android面试心得

android 面试 移动开发

架构实战营 - 模块四作业

en

架构实战营

Go 中队列的实现

baiyutang

9月日更

python学习:day3-流程控制

秦时明月

Python编程

Linux IPTables:如何添加防火墙规则

华为云开发者联盟

Linux 防火墙 iptables 数据包 防火墙规则

1-3年Android开发工程师面试经验分享,资深大牛带你了解源码

android 面试 移动开发

10天拿到字节跳动Android岗位offer,2021金三银四

android 面试 移动开发

12年高级工程师的“飞升之路”,进阶学习资料

android 面试 移动开发

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