美文网首页
大数据 Hadoop 学习笔记 04

大数据 Hadoop 学习笔记 04

作者: ProudLin | 来源:发表于2019-12-12 17:41 被阅读0次

简介:
HDFS 集群有两类节点,一个是 NameNode (管理者)和多个 DataNode(工作者)。

DataNode 是文件系统的打工仔,听从客户(client)或者管理者(Namenode)的安排,还要定期向管理者反馈工作进展(所存储的块列表)。

目录:
一、 DataNode 的工作职责以及流程
二、 相关面试题


正文:
接着上一篇,聊聊 DataNode 这个"打工仔"。首先得搞清楚 DataNode 是什么地干活?职责如下。

  • 1、提供真实文件数据的存储服务;
  • 2、定期向 NameNode 汇报自身所持有的 block 信息(通过心跳信息上报);
心跳信息上报
  • 3、文件块(block):最基本的存储单位。

块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在 hadoop2.x 版本中是 128 M,之前的版本中是 64 M。
一般来说,一个文件的长度 大小是 size,从文件的 0 偏移开始,按照固定大小以及顺序对文件进行划分并编号。也就是所谓的 Block(块)。
block 大小在 hdfs-site.xml 文件中可以配置, dfs.block.size可以设置。

  • 4、每一个 block 都可以在多个 datanode 上存储多个副本(Replication)(副本数量也可以通过参数设置 dfs.replication,默认是 3 )

hdfs-site.xml 的 dfs.replication 属性

属性

举个例子:
假如上传一个 256 MB 的文件,会被切割成 256 / 128 = 2 块,一个 block 对应一个 meta 元数据信息;如果文件为不足 128 MB 也是一个 block。

若一个文件为 129 MB,那么会被分成两个 block ,第一个 block 为 128 MB ,第二个 block 为 1 MB。

进入hdfs 存储位置

[hadoop1@h1 subdir0]$ pwd
 /home/hadoop1/app/hadoop-2.9.2/data/dfs/data/current/BP-1932602083-192.168.223.10-1575093118671/current/finalized/subdir0/subdir0
[hadoop1@h1 subdir0]$

注释:BP-random integer-NameNode-IP address-creation time(格式)

BP(BlockPool) Namenode 的 VERSION 中的集群唯一 blockpoolID ,可以理解为集群的位置。IP部分和时间戳代表创建该 BP 的 NameNode 的 IP 地址和创建时间戳。

在 hdfs 文件系统里,有个文件大小为 186.0 M,按照以上的分割规则 jdk-8u212-linux-x64.tar.gz 会被分割成两块,第一块为 128 MB,第二块为 186 -128 = 58 MB

[hadoop1@h1 subdir0]$ hadoop fs -ls -h hdfs://h1:9000/
 Found 1 items
-rw-r--r--   2 hadoop1 supergroup    186.0 M 2019-12-05 09:43 hdfs://h1:9000/jdk-8u212-linux-x64.tar.gz
 [hadoop1@h1 subdir0]$

执行 ll -h 查看命令

[hadoop1@h1 subdir0]$ ll -h
total 188M
-rw-rw-r--. 1 hadoop1 hadoop1 128M Dec  5 09:43 blk_1073741856
-rw-rw-r--. 1 hadoop1 hadoop1 1.1M Dec  5 09:43 blk_1073741856_1032.meta
-rw-rw-r--. 1 hadoop1 hadoop1  58M Dec  5 09:43 blk_1073741857
-rw-rw-r--. 1 hadoop1 hadoop1 464K Dec  5 09:43 blk_1073741857_1033.meta
[hadoop1@h1 subdir0]$

如上图所示,blk_1073741856 为第一块存储块 128 MB;blk_1073741857 为第二块存储块 58 MB。

试验证明了书上的理论没有骗人,至于 .meta 结尾的文件包含了 checksum (校验)信息。

留个面试题:
我们知道 HDFS 会在 DataNode 保留副本(默认是 3 块),那么假如其中的一块数据块损坏了该如何处置?

微信搜索公众号「一起学大数据呀」,里面有更多学习资料

相关文章

  • hadoop学习笔记

    这篇为学习hadoop的笔记,书籍来自《Hadoop构建数据仓库实战》 hadoop简介   hadoop是一个由...

  • 大数据 Hadoop 学习笔记 04

    简介:HDFS 集群有两类节点,一个是 NameNode (管理者)和多个 DataNode(工作者)。 Data...

  • 大数据入门 | 二、初识hadoop

    网易云课堂《大数据技术原理与应用》课程Chapter 2学习笔记 01 Hadoop是什么? Hadoop是Apa...

  • 无标题文章

    Hive 学习笔记 学习笔记 Hive 简介 Hive 是建立在 Hadoop 上的数据仓库基础构架,可以用来进行...

  • Hadoop入门

    慕课网《Hadoop大数据平台架构与实践--基础篇》学习笔记 1. 初识Hadoop 历史 Google三驾马车:...

  • Hadoop入门—基本原理简介

    现在打算学习一些关于分布式,大数据,和hadoop的知识,创建一个笔记本,作为入门的笔记。 1. 安装hadoop...

  • 大数据学习笔记Hadoop之HDFS

    科多大数据老师根据同学们最近的问题总结了Hadoop之HDFS的学习笔记,现在分享给大家,希望这个学习笔记可以帮助...

  • Hadoop学习笔记—Yarn

    Hadoop学习笔记—Yarn @(Hadoop)[hadoop, yarn] [TOC] 上一份工作主要负责大数...

  • Hadoop学习日志和资料

    =========== 学 习 日 志 =========== 2017-04-28 Hadoop大数据平台架构与...

  • 大数据Hadoop学习笔记

    hadoop生态系统MapReduce分布式计算框架①Yarm集群资源管理和调度③HDFS分布式文件系统②Hive...

网友评论

      本文标题:大数据 Hadoop 学习笔记 04

      本文链接:https://www.haomeiwen.com/subject/ndbtnctx.html