大数据革命正以Apache Hadoop为中心如火如荼的进行着。自从开源分布式数据处理平台在5年前发布时讨论之声就不绝于耳。在过去的一年中,Hadoop赢得了客户的认可,并得到众多商业化的支持以及众多数据库和数据集成软件商的整合。
Hadoop可以管理结构化数据,以及诸如服务器日志文件和Web点击流的数据。同时还可以管理以非结构化文本为中心的数据,如Facebook和Twitter。这种处理多类型数据的能力非常重要。它催生了NoSQL平台和产品。如Cassandra, CouchDB, MongoDB以及Oracle最新的NoSQL数据库。
而传统关系型数据库如Oracle,IBM DB2,Microsoft SQL Server和MySQL则都不能处理混合数据类型和非结构化数据。由于事务处理灵活性的需求,Hadoop获得大多数数据分析厂商的关注和支持。展望未来,在未来的3到5年,大数据已经成为私人和公共组织的战略关键。事实上,在未来5年预计有50%的大数据项目会在Hadoop框架下运行
MapReduce作为Hadoop的核心是一种处理大型及超大型数据集(TB级别的数据。包括网络点击产生的流数据、日志文件、社交网络等所带来的数据)并生成相关的执行的编程模型。其主要思想是从函数式编程语言借鉴而来的,同时也包含了从矢量编程语言借鉴的特性。
Google在2004年创造了MapReduce,而从MapReduce到Hadoop这其中经历了一个有趣的转变。MapReduce最初是帮助搜索引擎公司应对万维网所带来的创建索引时产生的大量数据。Google最初也招募了一些硅谷的精英,并雇用了大批的工程师来完善MapReduce。并快速将技术应用在相关的行业之中,如金融、零售等。Goolge曾拿出MapReduce的部分相关信息与Nutch团队分享,以开发开源版本“Hadoop”。但Yahoo则将Nutch收入到旗下。Yahoo在2007年将其发展成Hadoop开源项目。Hadoop现在越来越多的用于大数据的大规模并行数据处理引擎。
MapReduce系统获得成功的原因之一是它为编写需要大规模并行处理的代码提供了简单的编程模式。它受到了Lisp的函数编程特性和其他函数式语言的启发。MapReduce和云计算非常相配。MapReduce的关键特点是它能够对开发人员隐藏操作并行语义 — 并行编程的具体工作方式
JobTracker:管理集群资源和作业调度
TaskTracker:每节点代理——管理任务
传统Hadoop MapReduce目前存在的限制
集群规模限制; 4000节点 ;最大并发任务数:40000 ;JobTracker粗略同步
无法结束所有队列和运行中的任务;Jobs restarted on bounce
资源利用率低
迭代应用使用MapReduce实现效率慢10倍。
K-means算法(K-means算法是硬聚类算法,是典型的局域原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则)
客户端和集群为同一版本;应用程序和工作流无法迁移到不同的集群
每台机器16内核,48/96GB内存,24TB/36TB硬盘;100000+并发任务 ;10000并发作业
设计中心
将JobTracker的两个主要功能分离为:集群资源的管理和应用程序生存周期管理;MapReduce新生成的user-land库
架构
应用作为任务提交到框架
分配的基本单位(例如容器A:单CPU 2GB内存);替换修复map/reduce slots
资源管理
全局资源调度; 等级化的序列
节点管理
每台计算机代理;管理生命周期的容器;资源监视容器
应用程序管理
管理应用程序调度和程序的执行(例如 MapReduce 应用 Master)
展望未来
运行时的改进(容器隔离);补充的编程模型;更长时间的运行服务
框架增强;Unpack
多维资源调度
数据处理应用
Twitter Storm;Apache S4
Apache Giraph
相比数据处理软件的优势
部署于YARN;简单部署集群服务
可提高任务分配细粒度;允许应用和Pig/Hive随时添加到系统中
根据目前的状况来看,Hadoop作为企业级数据仓库体系结构核心技术,在未来的数年中将会保持持续增长的势头。下一代的MapReduce节点数将从目前的4000增加到6000-10000,其次并发的任务数从目前的40000增加到100000。
下一代的MapReduce也将继续加大对硬件支持、架构也会有所改变,包括更多编程模式的支持。包括MapR、Zettaset、Cloudera、HStreaming、Hadapt、DataStax、Datameer这些与Hadoop相关的新公司已经获得投资,为人们所熟知,为各种市场带来最新技术。
(zz原文链接 http://www.slideshare.net/Hadoop_Summit/map-reduce-whats-next )