一、初识Hadoop

  • Hadoop是什么?
  1. Hadoop是由Apache基金会所开发的分布式基础架构。
  2. Hadoop是一种分布式存储数据和计算的框架,擅长存储大量的半结构化数据集,擅长分布式计算-快速的跨多台机器处理大型数据集合
  3. Hadoop也泛指一组相关的项目,这些项目都使用这个基础平台进行分布式计算和海量数据处理。并构成了Hadoop生态系统。
  4. Hadoop的发行版本:1.x、0.22和2.x。
  • Hadoop核心架构
Hadoop由许多元素构成,主要是由HDFS(分布式文件系统)和MapReduce(处理大量半结构化数据集合的编程模型,编程模型是处理并结构化特定问题的方式。由JobTrackers和TaskTrackers组成)。通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS和MapReduce处理过程,以及数据仓库工具Hive和分布式数据库HBase的介绍,基本涵盖了Hadoop分布式平台的所有核心技术。
一、初识Hadoop_第1张图片
  • HDFS
HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在多台廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。
  • HDFS的设计
HDFS以流式数据访问模式来存储超大文件,运行于商用硬件集群上。
  1. 超大文件:指TB、PB级数据大小的文件。
  2. 流式数据访问:一次写入,多次读取是最高效的访问模式,但是不支持动态改变文件内容,而且写操作总是将数据添加到末尾。
  3. 商用硬件:HDFS可以应用在普通PC机上,几十台廉价的PC机就可以搭建出大数据集群。
  4. 低时间延迟的数据访问:HDFS是为高数据吞吐量应用优化的,这可能会以提高时间延迟为代价。对于低延迟的访问需求,HBase是更好的选择。
  5. 文件分块存储:同时从多个主机取不同区域的块文件,效率非常高。
  6. 硬件故障:集群中的机器都可能出现问题,为了防止某个主机失效,读取不到该主机的块文件,它将同一个文件块副本分配到其他某几个主机上,如果其中一台主机失效,就可以迅速找到其他主机上的副本取文件。
  • HDFS的关键元素
Block(数据块):HDFS上的文件被划分为块大小的多个分块(chunk)作为独立的存储单元,默认为64MB。
 NameNode(管理者):保存整个文件系统的目录信息、文件信息及分块信息。没有NameNode,文件系统将无法使用,如果运行NameNode的机器毁坏,文件系统上的所有文件将会丢失。
 DataNode(工作者):分布在廉价的计算机上,用于存储Block块文件。是文件系统的工作节点。他们根据需要存储并检索数 据块(受客户端或NameNode调度),并且定期向NameNode发送他们所存储的块的列表。
一、初识Hadoop_第2张图片

  • MapReduce

MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型,编程模型是处理并结构化特定问题的方式。将文

件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce需要做的事了。

  1. MapReduce的原理及组成。
  2. MapReduce应用程序编写。
  3. MapReduce的运行。
后续会详细介绍MapReduce,因为我后面的工作主要就是写一些MR。

你可能感兴趣的:(Hadoop)