HDFS设置BLOCK的目的

简介: HDFS设置BLOCK的目的在HDFS里面,data node上的块大小默认是64MB(或者是128MB或256MB)问题: 为什么64MB(或128MB或256MB)是最优选择?为什么不能远少于64MB(或128MB或256MB) (普通文件系统的数据块大小一般为4KB)减少硬盘寻道时间(disk seek time)

HDFS设置BLOCK的目的

在HDFS里面,data node上的块大小默认是64MB(或者是128MB或256MB)


问题: 为什么64MB(或128MB或256MB)是最优选择?

为什么不能远少于64MB(或128MB或256MB) (普通文件系统的数据块大小一般为4KB)减少硬盘寻道时间(disk seek time)


1.减少硬盘寻道时间

HDFS设计前提是支持大容量的流式数据操作,所以即使是一般的数据读写操作,涉及到的数据量都是比较大的。假如数据块设置过少,那需要读取的数据块就比较多,


由于数据块在硬盘上非连续存储,普通硬盘因为需要移动磁头,所以随机寻址较慢,读越多的数据块就增大了总的硬盘寻道时间。当硬盘寻道时间比io时间还要长的多时,那么硬盘寻道时间就成了系统的一个瓶颈。合适的块大小有助于减少硬盘寻道时间,提高系统吞吐量。


2.减少Namenode内存消耗


对于HDFS,他只有一个Namenode节点,他的内存相对于Datanode来说,是极其有限的。然而,namenode需要在其内存FSImage文件中中记录在Datanode中的数据块信息,假如数据块大小设置过少,而需要维护的数据块信息就会过多,那Namenode的内存可能就会伤不起了。


目录
相关文章
|
9月前
|
存储
HDFS 文件块的大小为什么不能设置太小、也不能设置太大?
HDFS 文件块的大小为什么不能设置太小、也不能设置太大?
176 0
|
机器学习/深度学习 SQL 分布式计算
配置 HDFS-创建 Kerberos 对应的账户设置 Keytab 文件|学习笔记
快速学习配置 HDFS-创建 Kerberos 对应的账户设置 Keytab 文件
1598 0
|
分布式计算 关系型数据库 MySQL
导入 Import--全量数据导入 Hdfs--并行度设置&注意事项 | 学习笔记
快速学习 导入 Import--全量数据导入 Hdfs--并行度设置&注意事项
171 0
导入 Import--全量数据导入 Hdfs--并行度设置&注意事项 | 学习笔记
|
存储 分布式计算 Hadoop
HDFS 块的大小设置| 学习笔记
快速学习 HDFS 块的大小设置
197 0
HDFS 块的大小设置| 学习笔记
|
分布式计算 安全 Java
datenode节点超时时间设置,Hadoop启动不正常,HDFS冗余数据块的自动删除,NameNode安全模式问题,ntp时间服务同步,机架感知配置
1.Hadoop datanode节点超时时间设置 datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。HDFS默认的超时时长为10分钟+30秒。如果定义超时时间为timeout,则超时时长的计算公式为:          timeout  = 2 * heartbeat.rec
2871 0
|
存储 分布式计算 Hadoop
HDFS源码分析之数据块Block、副本Replica
        我们知道,HDFS中的文件是由数据块Block组成的,并且为了提高容错性,每个数据块Block都会在不同数据节点DataNode上有若干副本Replica。那么,什么是Block?什么又是Replica?         首先,我们看下Block的定义,如下: /**...
1227 0