设为首页收藏本站

小牛社区-大数据学习交流社区|大数据免费学习资源

 找回密码
 立即注册!

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 56|回复: 0

大数据 hadoop hdfs mapreduce

[复制链接]

122

主题

0

帖子

10

积分

吃土小白

Rank: 1

积分
10
发表于 2018-1-2 21:14:21 | 显示全部楼层 |阅读模式
大数据hadoop


Hadoop是一个开源的框架,也是Apache的一个顶级项目。Hadoop框架中由两大模块组成,一个HDFS(Hadoop Distributed File System),是用来存储需要处理数据,另外一个是MapReduce,是Hadoop的处理数据的计算模型。
Hadoop的好处在于:

  • 可扩展:如果集群现在的能力不能满足现有的需求,可以增加数据节点来实现集群的扩展,但需要具体情况具体对待。
  • 经济:Hadoop集群能够在普通、廉价的硬件设备上运行,节约开支。
  • 可靠:HDFS上提供副本机制,可以使得数据不会丢失,MapReduce若发现计算的数据块损坏,它会自动寻找没有损坏的数据块重新计算。
  • 高效:充分利用本地数据来提高性能。

HDFS


  • HDFS的Hadoop的分布式系统,也可以部署在普通硬件机器上,是一个容错性高的系统,它有3个副本来解决容错问题的。
  • 它是通过流式来读取数据的。它可以存储TB以上的数据量,它是通过顺序读取文件来实现高吞吐的。
  • HDFS适合处理大文件的访问,流式数据访问,不适合小文件的存储,因为这些文件的元数据会占用大量的内存空间,也适合随机读取,低延迟读取。
MapReduce


  • MR是一个并行计算的一个模型框架。文件储存在HDFS上,然后通过MR模型来进行大数据的处理。
  • 它可以由许多的普通的硬件机器来构成大型并行集群,可以在集群上自动分配和执行任务以及收集结果,可以简化我们的工作,主要是用map和reduce两个函数来实现并行计算。
  • MR采用"分而治之"的思想来解决一台机器处理不了的事,它是分发给主节点管理的分节点来共同完成的,然后通过整合各个节点的中间结果,从而得到最终结果。
  • MR的运用场景是:数据可以分解成很多个小数据块来并行处理。

数据块

一个大型的文件在一台机器上是存储不下的,HDFS是通过将文件split成多个数据块block来实现存储的,以前一个数据块是64M,2.0版本是128M,3.0版本是256M。而且小于块大小的文件不会占用整个块的空间。每block都有3个副本(可配置)。
NameNode

NameNode是HDFS的元数据服务器,可以配置HA,里面信息包含每一个文件大小|权限|创建时间|位置等,主要管理文件和目录等。
DataNode

DataNode:负责检索和存储数据块,客户端访问数据文件时,先通过NameNode知道数据在哪个DataNode上存储的,然后直接读取数据块,而且DataNode是每隔一段时间会向NameNode发送一次心跳。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册!

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册!

本版积分规则

快速回复 返回顶部 返回列表