HDFS概述(2)————Block块大小设置

参考:

HDFS概述(4)————HDFS权限

HDFS概述(3)————HDFS Federation

HDFS概述(1)————HDFS架构

问题

Q: 一个常被问到的一个问题是: 如果一个HDFS上的文件大小(file size) 小于块大小(block size) ,那么HDFS会实际占用Linux file system的多大空间?

A: 答案是实际的文件大小,而非一个块的大小。

以下内容转自:

http://blog.csdn.net/samhacker/article/details/23089157?utm_source=tuicool&utm_medium=referral

http://snglw.blog.51cto.com/5832405/1643587

实验:

------------------------------------------------------------------------

1. 往hdfs里面添加新文件前,Hadooplinux上面所占的空间为 464 MB

du -sh /hadoop/hdfs/data/

2. 往hdfs里面添加大小为2673375 byte(大概2.5 MB)的文件

3. 此时,hadoop在linux上面所占的空间为 467 MB——增加了一个实际文件大小(2.5 MB)的空间,而非一个block size(128 MB)

du -sh /hadoop/hdfs/data/

4. 使用hadoop dfs -stat查看文件信息:

这里就很清楚地反映出: 文件的实际大小(file size)是2673375 byte, 但它的block size是128 MB。

5. 通过NameNode的web console来查看文件信息:

结果是一样的: 文件的实际大小(file size)是2673375 byte, 但它的block size是128 MB。

6. 不过使用‘hadoop fsck’查看文件信息,看出了一些不一样的内容——  ‘1(avg.block size 2673375 B)’:

值得注意的是,结果中有一个 ‘1(avg.block size 2673375 B)’的字样。这里的 ‘block size‘ 并不是指平常说的文件块大小(Block Size)—— 后者是一个元数据的概念,相反它反映的是文件的实际大小(file size)。

时间: 2024-10-12 12:18:03

HDFS概述(2)————Block块大小设置的相关文章

HDFS概述(1)————Block块大小设置

以下内容转自:http://blog.csdn.net/samhacker/article/details/23089157?utm_source=tuicool&utm_medium=referral http://snglw.blog.51cto.com/5832405/1643587 小文件BLOCK占用 [小于块大小的小文件不会占用整个HDFS块空间.也就是说,较多的小文件会占用更多的NAMENODE的内存(记录了文件的位置等信息):再者,在文件处理时,可能会有较大的网络开销.] 一个常

Hdfs block数据块大小的设置规则

1.概述 hadoop集群中文件的存储都是以块的形式存储在hdfs中. 2.默认值 从2.7.3版本开始block size的默认大小为128M,之前版本的默认值是64M. 3.如何修改block块的大小? 可以通过修改hdfs-site.xml文件中的dfs.blocksize对应的值. 注意:在修改HDFS的数据块大小时,首先停掉集群hadoop的运行进程,修改完毕后重新启动. 4.block块大小设置规则 在实际应用中,hdfs block块的大小设置为多少合适呢?为什么有的是64M,有的

HDFS概念详解—块

一个磁盘有它的块大小,代表着它能够读写的最小数据量.文件系统通过处理大小为一个磁盘块大小的整数倍数的数据块来运作这个磁盘.文件系统块一般为几千字节,而磁盘块一般为512个字节.这些信息,对于仅仅在一个文件上读或写任意长度的文件系统用户来说是透明的.但是,有些工具会维护文件系统,如df 和 fsck,它们都在系统块级上操作. HDFS也有块的概念,不过是更大的单元,默认为64 MB.与单一磁盘上的文件系统相似,HDFS上的文件也被分为以块为大小的分块,作为单独的单元存储.但与其不同的是,HDFS中

修改HDFS块大小

环境:OS:Centos 6.5 x64 & Soft:Hadoop 1.2.1 1.查看当前块大小,默认64M. [[email protected] hadoop-1.2.1]$ bin/hadoop fs -stat "%o" ./in/test1.txt67108864 2.修改hdfs-site.conf配置文件,增加全局参数dfs.block.size. [[email protected] hadoop-1.2.1]$ cat conf/hdfs-site.xml

Hadoop之HDFS(概述和Shell操作)

HDFS概述 HDFS组成架构 HDFS文件块大小   HDFS的Shell操作(开发重点) 1.基本语法 bin/hadoop fs 具体命令   OR  bin/hdfs dfs 具体命令 dfs是fs的实现类. 2.命令大全 $ bin/hadoop fs [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [-

HDFS概述(一)

1. HDFS产出的背景及定义 1.1 HDFS产生的背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统.HDFS只是分布式文件管理系统中的一种. 1.2 HDFS的定义 HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件:其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器

HDFS内副本和块的状态分析

前言 在HDFS内,我们通常听到的最频繁的2个名词术语:副本(Replica)和块(Block).几乎可以这么说,HDFS所有涉及到文件的操作都与这两个词相关.但是大家可能对这2个概念的理解还仅仅停留在一个比较浅的层面:比如说就是一个单一的replica或是一个单一的block块.尤其是在对块的层面,一个block块在最终完成后,它会经历哪些状态过程呢?这些细节的内容就是本文所准备阐述的. 副本/块的状态 在了解副本.块在文件的写入过程中的状态变化情况之前,我们需要对它们所有可能存在的状态做一个

第六章 HDFS概述

6.1.2 HDFS体系结构 HDFS采用主从结构,NameNode(文件系统管理者,负责命名空间,集群配置,数据块复制), DataNode(文件存储的基本单元,以数据块形式保存文件内容和数据块的数据校验信息,执行底层数据块IO操作), Client(和名字节点,数据节点通信,访问HDFS文件系统,操作文件), SecondaryNameNode 1.数据块 Linux的Ext3块默认的大小4096字节,HDFS块默认64M,副本数为3,数据块的好处:文件保存在不同的磁盘上,简化存储子系统,方

Linux系统之更改默认块大小

查看操作系统块大小:#tune2fs  -l /dev/sda1 |grep 'block size'               ( tune2fs  -l  /dev/sda1可以查看更多相关文件系统的详细信息 ) 查看os系统页的大小: #getconf PAGESIZE 创建文件系统时,可以指定块的大小.如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性能.将ext2文件系统的块大小调整为4096byte而不是缺省的1024byte,可以减少文件碎片,加快fs