hadoop是一个开源软件框架,可安装在一个商用机器集群中,使机器可彼此通信并协同工作,以高度分布式的方式共同存储和处理大量数据。最初,Hadoop 包含以下两个主要组件:Hadoop Distributed File System (HDFS) 和一个分布式计算引擎,该引擎支持以 MapReduce 作业的形式实现和运行程序。 Hadoop 还提供了软件基础架构,以一系列 map 和 reduce 任务的形式运行 MapReduce 作业。Map 任务在输入数据的子集上调用map函数。在完成这些调用后,reduce任务开始在 map函数所生成的中间数据上调用reduce任务,生成最终的输出。map和reduce任务彼此单独运行,这支持并行和容错的计算。 最重要的是,Hadoop 基础架构负责处理分布式处理的所有复杂方面:并行化、调度、资源管理、机器间通信、软件和硬件故障处理,等等。得益于这种干净的抽象,实现处理数百(或者甚至数千)个机器上的数 TB 数据的分布式应用程序从未像现在这么容易过,甚至对于之前没有使用分布式系统的经验的开发人员也是如此。

map reduce 过程图 shuffle combine 整体的Shuffle过程包含以下几个部分:Map端Shuffle、Sort阶段、Reduce端Shuffle。即是说:Shuffle 过程横跨 map 和 reduce 两端,中间包含 sort 阶段,就是数据从 map task 输出到reduce task输入的这段过程。 sort、combine 是在 map 端的,combine 是提前的 reduce ,需要自己设置。 Hadoop 集群中,大部分 map task 与 reduce task 的执行是在不同的节点上。当然很多情况下 Reduce 执行时需要跨节点去拉取其它节点上的map task结果。如果集群正在运行的 job 有很多,那么 task 的正常执行对集群内部的网络资源消耗会很严重。而对于必要的网络资源消耗,最终的目的就是最大化地减少不必要的消耗。还有在节点内,相比于内存,磁盘 IO 对 job 完成时间的影响也是可观的。从最基本的要求来说,对于 MapReduce 的 job 性能调优的 Shuffle 过程,目标期望可以有: 完整地从map task端拉取数据到reduce 端。 在跨节点拉取数据时,尽可能地减少对带宽的不必要消耗。 减少磁盘IO对task执行的影响。 总体来讲这段Shuffle过程,能优化的地方主要在于减少拉取数据的量及尽量使用内存而不是磁盘。 YARN ResourceManager 代替集群管理器 ApplicationMaster 代替一个专用且短暂的 JobTracker NodeManager 代替 TaskTracker 一个分布式应用程序代替一个 MapReduce 作业 一个全局 ResourceManager 以主要后台进程的形式运行,它通常在专用机器上运行,在各种竞争的应用程序之间仲裁可用的集群资源。 在用户提交一个应用程序时,一个称为 ApplicationMaster 的轻量型进程实例会启动来协调应用程序内的所有任务的执行。这包括监视任务,重新启动失败的任务,推测性地运行缓慢的任务,以及计算应用程序计数器值的总和。有趣的是,ApplicationMaster 可在容器内运行任何类型的任务。 NodeManager 是 TaskTracker 的一种更加普通和高效的版本。没有固定数量的 map 和 reduce slots,NodeManager 拥有许多动态创建的资源容器。

大数据Hadoop开发厂商有Amazon Web Services、Cloudera、Hortonworks、IBM、MapR科技、华为和大快搜索。这些厂商都是基于Apache开源项目,然后增加打包、支持、集成等特性以及自己的创新等内容。 大快的大数据通用计算平台(DKH),已经集成相同版本号的开发框架的全部组件。如果在开源大数据框架上部署大快的开发框架,需要平台的组件支持如下: 数据源与SQL引擎:DK.Hadoop、spark、hive、sqoop、flume、kafka 数据采集:DK.hadoop 数据处理模块:DK.Hadoop、spark、storm、hive 机器学习和AI:DK.Hadoop、spark NLP模块:上传服务器端JAR包,直接支持 搜索引擎模块:不独立发布

hadoop需要哪些技术支持相关推荐

  1. hadoop的同类技术_Hadoop 气数已尽:逃离复杂性,拥抱云计算

    虽然大数据依然如日中天,但该领域曾经的领头羊 Cloudera.Hortonworks 和 MapR 三家公司最近步履蹒跚,多少掩盖了其几分风光.作为曾经的数据宠儿,过去筹集到的巨额投资源源不断. 例 ...

  2. 基于SQL on Hadoop的数据仓库技术

    http://www.uspeed.com.cn/958.html 数据仓库是企业统一的数据管理的方式,将不同的应用中的数据汇聚,然后对这些数据加工和多维度分析,并最终展现给用户.它帮助企业将纷繁浩杂 ...

  3. 公众号后台接管技术支持_哪些技术有望接管开源?

    公众号后台接管技术支持 当您想到开源技术时,您可能会想到那些已经存在多年的技术. 这是有道理的:根据我公司Greythorn在2016年第四季度进行的一项调查, 超过 30%的参与者表示,成熟技术是他 ...

  4. hadoop应用开发技术..._大数据技术与应用——万物皆可数据化

    万|物|皆|可|数|据|化 大数据技术与应用  专业概况 专业名称:大数据技术与应用 专业代码:610215 专业方向:数据可视化技术 数据采集与处理  行业趋势  近几年来,互联网行业发展风起云涌, ...

  5. Hadoop大数据技术复习资料

    Hadoop大数据技术复习资料 ​ 钟兴宇 1.选择题15空,共30分. Hadoop以HDFS(Hadoop Distributed File System,Hadoop 分布式文件系统)和MapR ...

  6. 猿创征文|Hadoop大数据技术

    Hadoop大数据技术 Hadoop背景 Hadoop生态圈 Hadoop模式 HDFS 概述 优点 缺点 基本组成 NameNode Secondary NameNode DataNode YARN ...

  7. 大家眼中的桌面技术支持是什么样的?

    相信现在有一些朋友做过桌面支持,不知道你们做的性质是什么,是linux.应该不可能,windows,呵呵.这下应该是说对了,不知道做过桌面支持的朋友是通过什么实现的,但我相信离不开电话,离不开网络. ...

  8. 此为太阳历的技术支持博客

    此为太阳历的技术支持博客 转载于:https://blog.51cto.com/13922782/2159743

  9. Apache Hadoop 2.7如何支持读写OSS

    背景 2017.12.13日Apache Hadoop 3.0.0正式版本发布,默认支持阿里云OSS对象存储系统,作为Hadoop兼容的文件系统,后续版本号大于等于Hadoop 2.9.x系列也支持O ...

最新文章

  1. spring boot打jar包发布
  2. java设计一个顺序表类的成员函数_顺序表代码讲解以及实现
  3. Ajax的优缺点以及异步和同步的区别
  4. 自己动手实现自旋锁(spinlock)
  5. IDEA查看Maven路径
  6. Cocos2dx游戏开发系列笔记8:开搞一个射击游戏《战神传说》//就个打飞机的
  7. Java千百问局部变量、类变量、实例变量有什么区别
  8. 尚学堂马士兵servlet/JSP笔记(四、JSP)
  9. 2020年软件工程保研南大、国防科大、天大、同济、南开、北理、软件所、哈工大、哈工深、复旦经验分享
  10. 文件上传到ftp服务器命令,ftp上传文件到服务器命令
  11. 程序员也需要知道的经济学通识
  12. 14种异常检测方法汇总
  13. C语言fseek、ftell和rewind函数详解
  14. 小白用ESP8266NodeMcu机智云SOC方案开发经验分享
  15. browser html page iconic show error : 瀏覽器html頁面小圖標按鈕出現錯誤
  16. WAP手机上的问卷调查系统的构建
  17. 法律常识(一)婚姻法全文
  18. 配音秀显示服务器去配音了,英语配音秀
  19. 高新技术企业减税新增政策
  20. Openwrt——带宽统计助手nlbwmon

热门文章

  1. boost::hana::when用法的测试程序
  2. boost::geometry::compress_variant用法的测试程序
  3. 使用 FOREACH 迭代具有依赖类型的序列
  4. boost::contract模块实现check宏的测试程序
  5. boost::callable_traits的is_volatile_member的测试程序
  6. Boost:基于Boost的阻塞TCP回显服务器
  7. VTK:小部件之ContourWidget
  8. VTK:绘图之BarChart
  9. VTK:图片之ImageContinuousErode3D
  10. C++圆形线性链表Cicular Linear Linked List算法(附完整源码)