微信号:infoqchina

介绍:有内容的技术社区媒体

【热点】Apache拟在Docker中运行Hadoop

2014-09-05 17:18 张天雷

Apache在其Hadoop维基百科发布了一个页面,主要整理了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 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 原来程序猿都是这样优雅的装高大上的!一看吓一跳 女生,如何成为一名合格的设计师? 为什么说编程是有史以来最好的工作 Provide Options, Not Excuses 实战Kotlin@Android(一):项目配置和语言转换