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. 毛玻璃效果 css

    毛玻璃效果 <style> .container{ width: 287px; height: 285px; background-image: url(img/background.pn ...

  2. Hive内部表,外部表和分区表

    外部表和内部表的区别 内部表也称之为managed_table: 默认存储在/user/hive/warehouse下,也可以通过location指定: 删除表事,会删除表数据以及元数据: 外部表称之 ...

  3. Cockpit- Linux 服务器管理接口

    Cockpit- Linux 服务器管理接口 功能 它包含 systemd 服务管理器. 有一个用于故障排除和日志分析的 Journal 日志查看器. 包括 LVM 在内的存储配置比以前任何时候都要简 ...

  4. 已知链表头结点指针head,写一个函数把这个链表逆序

    Node* ReverseList ( Node *head ) { if ( head == NULL || head->next == NULL ) return head; Node *p ...

  5. Matlab 2019a 下载和安装步骤

    目录 1. 安装包下载 + 多套数学建模视频教程 2. 安装步骤 1. 安装包下载 + 多套数学建模视频教程 参考:https://blog.csdn.net/COCO56/article/detai ...

  6. LOAD - 装载或重载一个共享库文件

    SYNOPSIS LOAD 'filename' DESCRIPTION 描述 这个命令装载一个共享库文件到PostgreSQL服务器的地址空间. 一旦一个文件被装载,如果该文件前面曾经装载过,那么服 ...

  7. Codeforces Round #426 (Div. 2) - B

    题目链接:http://codeforces.com/contest/834/problem/B 题意:一共有26个门(A-Z表示),然后现在有n个人要走的门和k个守卫.每当有人要经过某个门时,门要一 ...

  8. CSS3边框 阴影 box-shadow

    box-shadow是向盒子添加阴影.支持添加一个或者多个. box-shadow: X轴偏移量 Y轴偏移量 [阴影模糊半径] [阴影扩展半径] [阴影颜色] [投影方式]; 参数介绍: box-sh ...

  9. Zookeeper学习笔记(下)

    这是ZK学习笔记的下篇, 主要希望可以分享一些 ZK 的应用以及其应用原理 我本人的学习告一段落, 不过还遗留了一些ZK相关的任务开发和性能测试的任务, 留待以后完成之后再通过其他文章来进行分享了 Z ...

  10. python如何导入自定义文件和模块$PYTHONHOME$\Lib\site-packages 方法

    python 中如何引用自己创建的源文件(*.py)呢? 也就是所谓的模块. 假如,你有一个自定义的源文件,文件名:saySomething.py .里面有个函数,函数名:sayHello.如下图: ...