Hadoop--MapReduce详解

  前面的几篇博客主要介绍了Hadoop的存储HDFS,接下来几篇博客主要介绍Hadoop的计算框架MapReduce。当然这方面的技术博客已经特别多而且都写得很优秀,我写本篇博客之前也有过相关阅读,受益匪浅。对一些博客和资料的参考都会才博客下方参考资料中列出。

  • 本片博客主要讲解:
  1. 理解MapReduce具体是个什么东西
  2. 通过具体代码来体现一下MapReduce
  3. MapReduce具体的流程和运行机制

Hadoop--HDFS之读写流程

  之前的博客,HDFS NameNodeHDFS DataNode 让我们对HDFS两个重要的角色,NameNode和DataNode有了一定的认识。NameNode负责维护元数据信息,DataNode负责Block块数据的存储。HDFS的设计就是一次写入,多次读取,不支持文件修改,所以呢,文件的读写就变得相当重要,下面我们就一起来看一看HDFS文件的读写流程吧!

写入文件

  • DataNode的写操作流程 可以分为两部分:
  1. 准备工作,包括与NameNode的通信等;
  2. 真正的写操作。

Hadoop--HDFS之DataNode

  HDFS DataNode,提供真实文件数据的存储服务。上篇博客HDFS NameNode 讲的是HDFS元数据,本篇主要讲解HDFS存储的真实数据。这些真实数据重点由两个部分组成,一、Block块(数据存储单元),二、文件备份数,掌握Block块信息,副本数的设置。

Block块

  • 文件块(block):最基本的存储单位。
  1. 对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block
  2. HDFS,默认Block大小是128MB(2.0版本),以一个256MB文件,共有256/128=2个Block;
  3. HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间

Hadoop--HDFS之NameNode

  之前就打算写一下Hadoop系列博客的,由于写别的东西去了,一直也没抽空出来,上篇Hadoop–HDFS架构和Shell对HDFS的一个简单概述,还是两三个月前的事情了。做了这么久的Hadoop了,在这里算是自我总结一下吧,本篇博客主要讲解一下Hadoop HDFS的NameNode

  • 重点掌握
  1. NameNode 的作用;
  2. NameNode 元数据的底层结构;
  3. SecondaryNameNode 的作用以及工作流程,以及为什么需要SecondaryNameNode。

HBase--Shell

  有段时间没更新了,今天就来个简单的吧–HBase的Shell。这个没什么技术含量,主要是帮助文档太强大了!可以说无需刻意记忆,help command就搞定了。那为什么还要写这篇博客呢?那就回到了第一句话“有段时间没更新了”来个简单的(●’◡’●)”!其实,不是啦,主要是用来提醒自己两件事情,一多看帮助文档和源码,二不要忽视简单的东西脚踏实地。(注:HBase版本0.98.8-hadoop2

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器