【若泽大数据实战第十一天】HDFS课程 - 副本数 Block Namenode、datanode、、SecondaryNameNode

本文详细介绍了HDFS的Hadoop分布式文件系统,包括NameNode、DataNode、SecondaryNameNode的角色与工作原理。讨论了数据块(block)的大小、副本数设置以及它们在存储大文件时如何拆分。同时,文章通过实例展示了在不同情况下,文件在HDFS上的分布情况,并探讨了生产环境中副本数的设置和管理。
摘要由CSDN通过智能技术生成

前言:

我把kafka的前置课程写完了,对kafka有了一定的了解,接下去我将把HDFS的课程写的详细一些。

1、HDFS进程

NameNode(NN):

命名空间 =【fsimage+editlog(hadoop命令) 文件名称+目录结构+文件属性】+ 【文件 + 块 + 机器(datanode)

DataNode(DN):

文件块 + 10个心跳发送一个block report

Secondary NameNode(SNN):

每隔一小时去拿 fsimage+editlog】合并生成 fsimage_xxx.ckpt- > namenode 

2、block(数据块)

block大小:
      默认128M ~ 最大 512M

数据块大文件会被分割成多个block进行存储,block大小默认为128MB。每一个block会在多个datanode上存储多份副本,默认是3份。

参数:hdfs-default.xm文件l里面的dfs.blocksize

路径:/opt/software/hadoop-2.8.1/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

为了确认默认是64m还是128m,我还是去找了下。


官网地址 http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

官网显示默认大小:


、如果一个文件大小为130M,那它会被切成两个文件,一个文件是128M,那另一个文件就是2M(实际大小)

做个试验测试下Block的分配情况

【若泽大数据实战】

测试下,从linux上把一个超过128M的数据,放到hdfs上会有怎样的结果。

默认环境单机,1份数据,测试文件大小:404MB

首先启动 hdfs

[hadoop@hadoop-01 sbin]$ ./start-dfs.sh 

Starting namenodes on [hadoop-01]

查看启动状态

[hadoop@hadoop-01 sbin]$ jps
3089 SecondaryNameNode
2762 NameNode

3338 Jps

2874 DataNode

准备一个text.log,文件大小为420MB超过128,

-rw-r--r--. 1 root root 424555111 May 19 17:47 ruoze.log

将它从linux放到hdfs上

[hadoop@hadoop-01 install]$ hdfs dfs -put ruoze.log /
[hadoop@hadoop-01 install]$ hdfs dfs -ls /

Found 3 items
-rw-r--r--   1 hadoop supergroup  424555111 2018-05-19 17:49 /ruoze.log
drwx------   - hadoop supergroup          0 2018-05-17 14:50 /tmp

drwxr-xr-x   - hadoop supergroup          0 2018-05-17 14:50 /user

打开网址查看信息:

http://192.168.137.30:50070/explorer.html#

我们查看到相关信息,ruoze.log 404MB


点击ruoze.log可以查看有4个块组成  





Block 0 Size: 134217728

Block 1 Size: 134217728

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值