【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

为什么要学习HarmonyOS以及如何快速上手?

android 程序员 移动开发

为啥mybatis的mapper只有接口没有实现类,但它却能工作?(全网独一份!

android 程序员 移动开发

一个34岁出来面试还被拒绝的Android程序员有多惨?

android 程序员 移动开发

七月脱产复习上岸Byte Dance,敢问:这不比“博人传

android 程序员 移动开发

为什么要学习HarmonyOS以及如何快速上手?(1)

android 程序员 移动开发

一封给Android开发者 UI 自动化测试上手指南

android 程序员 移动开发

三年经验Android开发面经总结

android 程序员 移动开发

三面字节跳动被虐得“体无完肤”,15天读完这份pdf

android 程序员 移动开发

一直认为Android不好找工作的同学,你的问题在这里!

android 程序员 移动开发

一起看 I_O _ Android 12 Beta 版发布,诸多亮点不容错过

android 程序员 移动开发

万字长文 - Kotlin 协程进阶

android 程序员 移动开发

不要学得太杂太乱!学习Android开发只要记住这几点!

android 程序员 移动开发

【面试总结】Android-开发者值得深入思考的几个面试问答分享

android 程序员 移动开发

一个简单强大且灵活的 MVP 框架。

android 程序员 移动开发

一次面试被问到ArrayMap,原理及源码分析详解

android 程序员 移动开发

一位30多岁已婚已育没有车贷男程序员的不安

android 程序员 移动开发

一波Android面试(附答案)

android 程序员 移动开发

不要花大力气学-Kotlin

android 程序员 移动开发

一行代码解决安卓重复点击?

android 程序员 移动开发

iOS开发:上架App被拒原因5.1.1Legal Privacy - Data Collection and Storage

三掌柜

11月日更

一个自学Android-人的第三年的面经分享

android 程序员 移动开发

一款Android开发者神器,从此不怕Show case

android 程序员 移动开发

管理云服务器密码

坚果

云服务器 服务器密码 11月日更

Redis 高可用篇:Cluster 集群原理剖析,集群可以无限拓展么

码哥字节

redis cluster NoSQL 数据库 11月日更

为什么有着足够出色的技术,中年程序员依然面临中年危机?

android 程序员 移动开发

一位Android大牛的BAT面试心得与经验总结

android 程序员 移动开发

一种清晰, 便于扩展android项目架构方案

android 程序员 移动开发

三年 Android 开发的技术人生,浅谈自身面试的感悟

android 程序员 移动开发

一篇文章教你搞清楚——Kotlin-进阶---不变型、协变

程序员 移动开发

两年Android开发三面上岸腾讯,这些核心知识点建议收藏

android 程序员 移动开发

为什么要配置环境变量

android 程序员 移动开发

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