转 Docker和hadoop
2017-06-21 朱洁
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解决弹性伸缩问题应该有发展。
转 Docker和hadoop的更多相关文章
- Docker部署Hadoop集群
Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...
- docker安装hadoop
docker为hadoop的云化带来了极大便利,安装和应用也会更快更方便.进入正题: docker search hadoop 将会看到如下结果: INDEX NAME DESCRIPTION STA ...
- docker安装hadoop集群
docker安装hadoop集群?图啥呢?不图啥,就是图好玩.本篇博客主要是来教大家如何搭建一个docker的hadoop集群.不要问 为什么我要做这么无聊的事情,答案你也许知道,因为没有女票.... ...
- 暑假第二弹:基于docker的hadoop分布式集群系统的搭建和测试
早在四月份的时候,就已经开了这篇文章.当时是参加数据挖掘的比赛,在计科院大佬的建议下用TensorFlow搞深度学习,而且要在自己的hadoop分布式集群系统下搞. 当时可把我们牛逼坏了,在没有基础的 ...
- Docker 构建Hadoop环境
参考如下文章: Docker安装Hadoop Docker在本地搭建Hadoop分布式集群 Docker快速搭建Hadoop测试环境 从0开始用docker搭建 hadoop分布式环境 Docker- ...
- 使用docker搭建hadoop分布式集群
使用docker搭建部署hadoop分布式集群 在网上找了非常长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,仅仅能自己写一个了. 一:环境准备: 1:首先要有一个Cento ...
- 使用Docker搭建Hadoop集群(伪分布式与完全分布式)
之前用虚拟机搭建Hadoop集群(包括伪分布式和完全分布式:Hadoop之伪分布式安装),但是这样太消耗资源了,自学了Docker也来操练一把,用Docker来构建Hadoop集群,这里搭建的Hado ...
- 基于Docker搭建Hadoop+Hive
为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...
- Docker搭建Hadoop环境
文章目录 Docker搭建Hadoop环境 Docker的安装与使用 拉取镜像 克隆配置脚本 创建网桥 执行脚本 Docker命令补充 更换镜像源 安装vim 启动Hadoop 测试Word Coun ...
随机推荐
- uva live 12846 A Daisy Puzzle Game
假设下一个状态有必败.那么此时状态一定是必胜,否则此时状态一定是必败 状压DP #include<iostream> #include<map> #include<str ...
- Android中的图片查看器
本案例,使用Eclipse来开发Android2.1版本号的图片查看器. 1)首先,打开Eclipse.新建一个Android2.1版本号的项目ShowTu,打开res/values中文件夹下的str ...
- android 多进程 Binder AIDL Service
本文參考http://blog.csdn.net/saintswordsman/article/details/5130947 android的多进程是通过Binder来实现的,一个类,继承了Bind ...
- Vs2012在Linux开发中的应用(5):项目属性的定义
VS的项目属性表实际上是由一系列的XML文件定义的,都存放在C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\2052文件夹下.我们全然能够 ...
- icvSetWeightsAndClasses
/* *icvSetWeightsAndClasses *作用:给训练样本的权重和类别赋值 */ static void icvSetWeightsAndClasses( CvHaarTraining ...
- 大话设计模式C++实现-第19章-组合模式
一.UML图 关键词:Leaf是叶子,Composite是非叶子节点,Composite包括Leaf. 二.概念 组合模式(Composite):将对象组合成树形结构以表示"部分-总体&qu ...
- 【iOS系列】-UITableViewCell的展开与收缩的实现思路
UITableViewCell的展开与收缩的实现思路 现在项目中很多地方都会用到,所以我这里介绍一种可以复用的思路,这与文章后面的Swift的实现思路不同,具体大家可自行对比. Demo项目地址 开始 ...
- 【视频】零基础学Android开发:蓝牙聊天室APP(三)
零基础学Android开发:蓝牙聊天室APP第三讲 3.1 ImageView.ImageButton控件具体解释 3.2 GridView控件具体解释 3.3 SimpleAdapter适配器具体解 ...
- 2016/3/26 weixin 头像 昵称 网页优化显示 缺表中数据 只有代码 无显示效果
weixin.php <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 2016/3/17 Mysq select 数学函数 字符串函数 时间函数 系统信息函数 加密函数
一,数学函数主要用于处理数字,包括整型.浮点数等. ABS(X) 返回x的绝对值 SELECT ABS(-1)--返回1 CEll(X),CEILING(x) 返回大于或等于x的最小整数 SELEC ...