Docker和hadoop

Docker很热,怎么形容?感觉开源除了spark技术,就是docker了,甚至把Go语言也带火了,把Go在TIOBE的排名从百名外带入主流语言的行列。

Docker快成救世主了,这么牛逼的技术,docker和hadoop碰撞出什么火花来呢,是不是得赶紧用上呢?

就不介绍具体什么是docker了,不是一门全新的技术,是基于LXC的高级容器引擎,从linux内核发展出来的轻量隔离技术。相比单纯的隔离,核心是标准化了镜像打包,部署和发布这个过程,相当于标准化了开发过程。就运行态来说,相比VM,核心优势就是轻量,劣势也明显,安全性不足,容易攻破。下图是一个VM和容器的对比:

关于LXC,google的大规模集群管理工具borg号称十年前就使用上了,使用场景就是大数据场景,而且批量/实时场景号称都支持的很好,集群资源利用率也非常高,所以照这个说起来,大数据和docker渊源很深。

但是现实的情况是,docker在hadoop领域用的并不是很好。目前主流两种用法:

第一种方法是用Docker来直接运行Hadoop。例如hortonworks,收购了一家叫SequenceIQ的公司,通过叫Cloudbreak的技术,将Hortonworks Data Platform(HDP)打包成Docker镜像,好处是可以在微软Azure、亚马逊AWS、谷歌云平台等任何主流云平台上启动HDP。这种解决的是在多云平台部署的问题。但是这个公司被收购之后也没有更多的消息了。Github上的最后一次更新也在5个月之前。

这个至多只是解决开发环境的问题,hadoop很难在不同的环境下,不调优而跑出一致的表现,天生的使用场景受限,价值有限。

第二种方法是通过YARN来使用Docker容器进行应用部署,yarn是支持docker的,具体可以看看:

http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/DockerContainerExecutor.html

yarn作为资源管理,由于其扩展能力,一直被压缩在了大数据领域,如果为了任务级别更高资源利用,通过FAIR调度算法足于,更强的隔离反而限制了资源的弹性使用。

当前资源调度更火是k8s(google主推,号称从borg发展而来)和mesos(伯克利大学主推)。瞄准的场景也更多的是应用级别,yarn支持docker处在一个很尴尬的地步。

综合来说,hadoop体系有自己的一套资源管理系统,要解决的问题是多个服务器并行调度起来当一个服务器使用的问题。而docker技术本质上和VM一样,是将一个服务器拆成多份给更多的应用使用。Docker和hadoop体系在云下物理机的场景非常有限,未来在云上替代VM解决弹性伸缩问题应该有发展。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2017-06-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

开发漫谈:最受DevOps欢迎的五种工具

DevOps这个词在几年前从欧美流向大陆,主要反映了开发与运维两批人之间的矛盾与磨合。从单词的角度来讲,DevOps是开发(Development)和运维(Op...

36650
来自专栏前沿技墅

容器即服务:从零构建企业级容器集群

83830
来自专栏SDNLAB

Neutron:我前进的路还很漫长

作为一直受到广大OpenStack用户诟病的网络项目,Neutron一直在“摸索着”自身的定位。对于用户而言,稳定的商业SDN产品对于网络的管理似乎更能满足他们...

34680
来自专栏SDNLAB

从SDN以及Docker看网络模型发生的变革

编者按:作者从SDN以及Docker所带来的变化出发,分析网络模型发生的变革。Docker以及其相关的应用平台的出现,让人们开始思考,其实网络不仅仅可以是一个单...

33960
来自专栏IT大咖说

大咖谈Kubernetes的建模应用

说起建模,很多小伙伴都不陌生,就是为了理解某一事物而对该事物做出的某一种抽象,是对这个事物没有歧义的一种描述,也叫建立模型。当然,建模也分系统建模,数据建模等好...

10520
来自专栏SDNLAB

谈谈虚拟化及其安全性

虚拟化是硬件和软件工程的协作,以创建虚拟机(VM)。这被认为是计算机硬件的抽象化,使单个物理机能够当作多个机器运行。没有虚拟机,单个操作系统将会占用所有的硬件资...

395110
来自专栏祝威廉

运维=平台+数据

运维的发展日新月异,曾几何时,运维仅仅是被认知为跑机房,装系统,设计网络,给开发擦屁股。但是现在运维变得极度重要,运维职责也更加细化,譬如稍大点的公司就将运维划...

1K50
来自专栏ThoughtWorks

容器化时代对测试的机遇 | TW洞见

今日洞见 文章作者/图片来自ThoughtWorks:梁真,图片来源于网络。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有...

368140
来自专栏大数据和云计算技术

大数据服务上云的思考

说说大数据怎么上云的一些思考: 1、首先说说,大数据和云的关系。云是一种网络形态的概念,是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。云计...

30480
来自专栏企鹅号快讯

当Kubernetes和Tensorflow走在一起

译者|李建盛 编辑|Emily 背景介绍 Kubeflow 旨在让机器学习能够更加容易、可移植、可扩展的在 Kubernetes 上运行。其目的并不是简单的重新...

55090

扫码关注云+社区

领取腾讯云代金券