Hadoop 开源分布式计算平台,前身是:Apache Nutch(爬虫),Lucene(中文搜索引擎)子项目之一。
 以Hadoop分布式计算文件系统(Hadoop Distributed File System HDFS)和MapReduce(Google MapReduce的开源实现)为核心 的Hadoop基础架构。
 HDFS的高容错性、搞伸缩性等优点可以将Hadoop部署在廉价版的硬件上,形成分布式系统;
 MapReduce分布式编程模型,利用这种模型软件开发者可以轻松地编写出分布式并行程序。
 
 优势:
  1、高可靠性:按位储存和处理数据的能力指的信赖。
  2、高扩展性:在可用的计算机集簇间分配数据完成计算任务,这些集簇可以扩展到数以千计的节点中。
  3、高效性:能够在节点之间动态的移动数据,已保证各个节点的动态平衡,因此处理速度非常快。
  4、高容错性:Hadoop能够自动保存数据的多分副本,并且能够自动将失败的任务重新分配。
  
Hadoop项目极其结构

hadoop核心是MapReduce(编程模型)和HDFS(计算系统)

1、Hadoop Common:是Hadoop为其它子项目提供支持的常用工具,主要包括FileSystem、PRC和串行化库。
2、Avro:是数据序列化的系统,将逐步取代Hadoop原有的IPC机制。
3、MapReduce:是一种编程模型,并行计算框架,用于大规模数据集的并行运算。
4、HDFS:是分布式计算系统,具有高容错性
     HDFS设计目标:
     4.1:检测和快速恢复硬件故障是HDFS的核心目标。
     4.2:流式的数据访问;重视数据的吞吐量,不是数据访问的反应速度。
     4.3:简化一致性模型;
     4.4:通信协议;所有的通信协议都是建立在TCP/IP协议之上的。
5、Chukwa:是开源的数据收集系统,用于监控和分析大型分布式系统的数据,在MapReduce和HDFS之上搭建的,通过HDFS来储存数据并依赖MR任务处理数据。
6、Hive:数据仓库工具,由Facebook贡献。建立在Hadoop基础上的数据仓库,提供对Hadoop文件中的数据集进行数据整理、特殊查询和分析储存的工具。
7、HBase:开源的分布式、面向列的数据库。7.1:HBase是一个适合于非结构化数据储存的数据库;7.2:HBase是基于列而不是基于行的模式。
8、Pig:大数据分析和评估平台。底层由一个编译器组成,语言层由Pig Latin的正文型语言组成。
9、Zookeeper:是一个为分布式应用所设计的开源协调服务。主要为用户提供同步、配置管理、分组和命名等服务。由Java编写、但支持J和C两种语言。
----------------------
Ambari:Hadoop管理工具。Apache Ambari是对Hadoop进行监控、管理和生命周期管理的基于网页的开源项目。
Sqoop:于在HADOOP与传统的数据库间进行数据的传递。利用Sqoop将数据从数据库导入到HDFS。
 
Hadoop体系结构
1、HDFS讲解
HDFS和MapReduce是Hadoop两大核心,而整个Hadoop的体系结构主要是通过HDFS来实现分布式储存的底层支持的。
HDFS采用 主从(Master/Slave)结构模型,一个HDFS由一个NameNode和若干个DataNode组成,NameNode作为主服务器来管理文件系统的命名空间和客户端对文件的访问操作,
集群中的DataNode管理储存数据。允许以文件的形式来储存数据,从内部来看  文件被分成若干个数据块存放在一组DataNode上,DataNode处理文件的读写请求,NameNode处理例如:
打开、关闭、重命名文件或目录等也负责数据块到具体DataNode的映射。
NameNode是所有HDFS元数据的管理者,用户需要保存的数据不会经过NameNode,而是直接流向存储数据dataNode。
体系结构图:
 
2、MapReduce介绍
基于MapReduce可以将任务分发到由上千台商用机器组成的集群上,并以一种可靠性容错的方式并行处理大数据集,实现Hadoop的并行任务处理功能。
MapReduce是由一个单独运行在主节点的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。
主节点负责调度构成一个作业任务,这些任务分配在不同的从节点上,主节点监控他们的执行情况,并且重新执行之前失败的任务。
从节点负责由主节点指派的任务,当一个Job被提交时,JobTracker接收到提交作业和配置信息后,就会将配置信息分发给从节点,并同时监控。
 
总结:MapReduce和HDFS共同组成了Hadoop分布式系统的体系结构,HDFS在集群上实现了分布式文件系统,MapReduce实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了对文件操作和储存等的支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作并收集结果。二者相互作用完成了Hadoop分布式集群的主要任务。

Hadoop实战内容摘记的更多相关文章

  1. Hadoop on Mac with IntelliJ IDEA - 10 陆喜恒. Hadoop实战(第2版)6.4.1(Shuffle和排序)Map端 内容整理

    下午对着源码看陆喜恒. Hadoop实战(第2版)6.4.1  (Shuffle和排序)Map端,发现与Hadoop 1.2.1的源码有些出入.下面作个简单的记录,方便起见,引用自书本的语句都用斜体表 ...

  2. 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战

    本讲通过实验的方式讲解Hadoop文件系统的操作. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云 ...

  3. Hadoop实战实例

    Hadoop实战实例        Hadoop实战实例        Hadoop 是Google MapReduce的一个Java实现.MapReduce是一种简化的分布式编程模式,让程序自动分布 ...

  4. 升级版:深入浅出Hadoop实战开发(云存储、MapReduce、HBase实战微博、Hive应用、Storm应用)

          Hadoop是一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系 ...

  5. 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析

    这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...

  6. 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

  7. Hadoop实战之三~ Hello World

    本文介绍的是在Ubuntu下安装用三台PC安装完成Hadoop集群并运行好第一个Hello World的过程,软硬件信息如下: Ubuntu:12.04 LTS Master: 1.5G RAM,奔腾 ...

  8. hadoop基础----hadoop实战(七)-----hadoop管理工具---使用Cloudera Manager安装Hadoop---Cloudera Manager和CDH5.8离线安装

    hadoop基础----hadoop实战(六)-----hadoop管理工具---Cloudera Manager---CDH介绍 简介 我们在上篇文章中已经了解了CDH,为了后续的学习,我们本章就来 ...

  9. 【VS开发】【智能语音处理】MATLAB 与 音频处理 相关内容摘记

    MATLAB 与 音频处理 相关内容摘记 MATLAB 与 音频处理 相关内容摘记 1 MATLAB 音频相关函数 1 MATLAB 处理音频信号的流程 2 音量标准化 2 声道分离合并与组合 3 数 ...

随机推荐

  1. 关于微信小程序 modal弹框组件的介绍

    微信小程序 modal: 这里对微信小程序中 modal组件进行详细解析,我想开发微信小程序的小伙伴可以用到,这里小编就记录下modal的知识要点. modal modal类似于javascript中 ...

  2. 小程序中页面兼容h5标签的解析

    有时候当小程序向后台拿数据是一篇html标签的文章时,把它放进小程序会发现很多标签就不兼容,如果要一个个改又很麻烦,有没有方法可以很快地兼容html标签呢? 有个工具可以做到:wxParse 下载了它 ...

  3. Scala学习笔记(5)类

    1.简单类和无参方法 calss Counter{ private var value = 0  //必须初始字段 def increment(){value +=1} //方法默认是公有的 def ...

  4. Django之cookie 和session

    ---恢复内容开始--- 一.cookie 前戏.cookie 的由来 由于http协议是无状态的 无法记录用户状态 cookie就是保存在客户端浏览器上的键值对 工作原理:当你登陆成功之后 浏览器会 ...

  5. raft协议-分布式环境下的数据一致性问题

    阅读了一个有意思的ppt,是Standford大学发表的raft协议 网址:http://thesecretlivesofdata.com/raft/ 下面自己总结下咯: 1.raft是一个实现了解决 ...

  6. vscode 黑屏及类名报错解决方案

    1.安装vscode之后打开黑屏,解决方案如下图,右键--属性--兼容性--勾选上 2.vscode 类名总报错 是ES2017的语法修饰器引起vscode警告. 解除的方法如果你使用的typescr ...

  7. 03python面向对象编程4

    http://c.biancheng.net/view/2287.html 1.1定义类和对象 在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,insta ...

  8. 手写与copy

    m_Font.CreateFont( 14, // 字体高度 0 , // 宽度由系统确定 0 , // 文本不倾斜 0 , // 字体不倾斜 FW_NORMAL, // 字体粗度 0 , // 非斜 ...

  9. GUI学习之十九——QFontComboBox学习总结

    我们上一章学习了QComboBox的用法,这一章我们来看一下它的一个比较常用的子类:QFontComboBox(). 一.描述: QFontComboBox()是QComboBox()的一个子类,但是 ...

  10. shell脚本监控Tomcat并重启发送短信

    #!/bin/sh TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}') StartTom ...