当前位置:   article > 正文

【若泽大数据实战第十一天】HDFS课程 - 副本数 Block Namenode、datanode、、SecondaryNameNode_hdfs关键元素block、namenode、datanode

hdfs关键元素block、namenode、datanode

前言:

我把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个块组成  





声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/205414
推荐阅读
相关标签
  

闽ICP备14008679号