Hadoop基本架构之HDFS和MapReduce(上)

原创 2015年11月18日 22:43:10

可自由转载,转载请在文章开头处注明来源。格式: 用户名 + 文章链接。本篇文章为:TiuVe2 + http://blog.csdn.net/tiu_velenjdong/article/details/49914321

请支持原创,谢谢~


摘自《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》

Hadoop是一个由Apache基金会所支持的分布式基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群进行高速运算和存储。

Hadoop由两部分组成,分别是分布式文件系统和分布式计算框架MapReduce。其中,分布式文件系统主要用于大规模数据的分布式存储,而MapReduce则构建在分布式文件系统之上,对存储在分布式文件系统中的数据进行分布式计算。

在Hadoop中,MapReduce底层的分布式文件系统是独立模块,用户可按照约定的一套接口实现自己的分布式文件系统,然后经过简单配置后,存储在该文件系统上的数据便可以被MapReduce处理。Hadoop默认使用的文件系统是HDFS(Hadoop Distributed File System)。

一. HDFS架构

    HDFS是一个具有高容错性的分布式文件系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

    HDFS总体上采用了master/slave(主从)架构,主要由以下几个部件组成:Client、NameNode、Secondary NameNode和DataNode。其架构如下图所示:

      


各部分组件功能如下:

        (1)Client

                  Client通过与NameNode和DataNode交互从而访问HDFS中的文件。Client提供了类似POSIX的文件系统接口供用户使用。

         (2)NameNode

                  整个Hadoop集群中只有一个NameNode。它是整个系统的总管,负责HDFS的目录树和相关的文件元数据信息。这些信息以“fsimage”(HDFS元数据镜像文件)和“editlog”(HDFS文件改动日志)两个文件形式存储在本地磁盘,当HDFS重启时重新构造出来的。此外,NameNode还负责监控各个DataNode的健康状态,一旦发现有DataNode宕掉,则将该DataNode移出HDFS并重新备份其上面的数据。

         (3)Secondary NameNode

                 Secondary NameNode最重要的任务不是为NameNode元数据进行热备份,而是定期合并fismage和edits日志,并传输给NameNode。为了减小NameNode压力,NameNode自己不会合并fismage和edits,并将文件存储到磁盘上,而是由Secondary NameNode完成。

         (4)DataNode

                 一般而言,每个Slave节点上安装一个DataNode,它负责实际的数据传输,并将数据信息定期汇报给NameNode。DataNode以固定大小的block为基本单位组织文件内容,默认情况下block大小为64MB。当用户上传一个较大的文件到HDFS上时,该文件会被切分成若干个block,分别存储到不同的DataNode;同时,为了保证数据可靠,会将同一个block以流水线方式写到若干个(默认是3,该参数可配置)不同的DataNode上,这种文件切割后存储的过程是对用户透明的。


版权声明:本文为博主原创文章。可自由转载文章,但请务必在文章开头注明出处。格式:TiuVe2 + 文章链接。谢谢!

相关文章推荐

Hadoop: MapReduce使用hdfs中的文件

本代码包含功能:获取DataNode名,并写入到HDFS文件系统中的文件hdfs:///copyOftest.c中。 并计数文件hdfs:///copyOftest.c中的wordcount计数,有别...

Hadoop之MapReduce

摘要:MapReduce是Hadoop的又一核心模块,从MapReduce是什么,MapReduce能做什么以及MapReduce的工作机制三方面认识MapReduce。 关键词:Hadoop ...

通过工具查看Hadoop的 fimage 文件和 edits 文件

Offline Image ViewerWeb Processorhdfs oiv -i fsimage 通过只读的 WebHDFS API 查看 fimage 所记录的文件系统信息: bash$...

Linux常用命令

摘要:采用命令行模式操控Linux系统非常重要。本文总结Linux常用的命令,包括命令的含义,命令的用法以及命令的拓展。 关键词:命令行模式  Linux常用命令 给Linux系统下达命令...

Thinking in BigDate(八)大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

纯干货:Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解。       通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS、MapReduce、Hbase、...
  • tzdjzs
  • tzdjzs
  • 2014-03-08 13:24
  • 1014

Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解 发表于2014-02-17 11:55|1386次阅读| 来源CSDN博客|3 条评论| 作者张震 ...

大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

纯干货:Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解。       通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS、MapReduce、Hbase、H...

Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

摘要:通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心...

大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

HDFS的体系架构        整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持,并通过MR来实现对分布式并行任务处理的程序支持。       ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)