HDFS数据块
磁盘也是由数据块组成的,一般默认大小是512字节,构建磁盘之上的文件系统一般是磁盘块的整数倍。
HDFS也是采用块管理的,但是比较大,在Hadoop1.x中默认大小是64M,Hadoop2.x中大小默认为128M,那为什么HDFS块这么大呢,又为什么Hadoop2.x中数据块更大了呢?
权威指南中说,为了最小化寻址开销,也就是让文件传输时间明显大于块的寻址时间,还有就是减轻NameNode的负担,因为在NameNode中存储这块所在数据节点的信息。但是也不能过于大,因为MapReducer中一般一个map处理一个块上的数据,如果块很大,任务数会很少(少于集群中的节点个数)这样执行效率会明显降低。
使用块有什么好处?假如上传的一个文件非常大,没有任何一块磁盘能够存储,这样这个文件就没法上传了,如果使用块的概念,会把文件分割成许多块,这样这个文件可以使用集群中的任意节点进行存储。数据存储要考虑容灾备份,以块为单位非常有利于进行备份,HDFS默认每个块备份3份,这样如果这个块上或这个节点坏掉,可以直接找其他节点上的备份块。还有就是,有的时候需要将备份数量提高,这样能够分散机群的读取负载,因为可以在多个节点中寻找到目标数据,减少单个节点读取。
HDFS数据块的更多相关文章
- Hadoop hadoop 之hdfs数据块修复方法
hadoop 之hdfs数据块修复方法: .手动修复 hdfs fsck / #检查集群的健康状态 hdfs debug recoverLease -path 文件位置 -retries 重试次数 # ...
- hdfs 数据块重分布 sbin/start-balancer.sh -threshold
数据块重分布sbin/start-balancer.sh -threshold <percentage of disk capacity>percentage of disk capa ...
- HDFS读写数据块--${dfs.data.dir}选择策略
最近工作需要,看了HDFS读写数据块这部分.不过可能跟网上大部分帖子不一样,本文主要写了${dfs.data.dir}的选择策略,也就是block在DataNode上的放置策略.我主要是从我们工作需要 ...
- Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我 ...
- 【Hadoop】HDFS冗余数据块的自动删除
HDFS冗余数据块的自动删除 在日常维护hadoop集群的过程中发现这样一种情况: 某个节点由于网络故障或者DataNode进程死亡,被NameNode判定为死亡, HDFS马上自动开始数据块的容错拷 ...
- HDFS源码分析数据块校验之DataBlockScanner
DataBlockScanner是运行在数据节点DataNode上的一个后台线程.它为所有的块池管理块扫描.针对每个块池,一个BlockPoolSliceScanner对象将会被创建,其运行在一个单独 ...
- HDFS源码分析数据块复制监控线程ReplicationMonitor(二)
HDFS源码分析数据块复制监控线程ReplicationMonitor(二)
- HDFS冗余数据块的自动删除
HDFS冗余数据块的自动删除 在日常维护hadoop集群的过程中发现这样一种情况: 某个节点由于网络故障或者DataNode进程死亡,被NameNode判定为死亡,HDFS马上自动开始数据块的容错拷贝 ...
- HDFS源码分析数据块复制监控线程ReplicationMonitor(一)
ReplicationMonitor是HDFS中关于数据块复制的监控线程,它的主要作用就是计算DataNode工作,并将复制请求超时的块重新加入到待调度队列.其定义及作为线程核心的run()方法如下: ...
随机推荐
- PagerAdapter 普通写法
1,viewPagre的普通写法 public ImagePagerAdapter(Context context, List<Photo> imgList) { this.mContex ...
- [转]改变UITextField placeHolder颜色、字体
本文转载至 http://m.blog.csdn.net/blog/a394318511/8025170 我们有时需要定制化UITextField对象的风格,可以添加许多不同的重写方法,来改变文本字段 ...
- 1808:公共子序列 即POJ 1458 Common Subsequence
1808:公共子序列 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 我们称序列Z = < z1, z2, ..., zk >是序列X = < ...
- 用Dialog 做自定义动画,加播放监听
final Dialog customDialog = new Dialog(this); customDialog.setTitle(R.string.attention); customDialo ...
- Arduino开发版学习计划--小车的行走
小车的前进后退,左右转弯 代码如下 void motor(char pin,char pwmpin,char state,int val) { pinMode(pin, OUTPUT); ) { an ...
- 170322、Spring Boot 性能优化之将Servlet容器变成Undertow
需求缘起:在研究Spring Boot加速启动的时候,发现我们在实际中,可能比较注重我们服务器的内存的情况,那么我们会想如果在启动的时候,所占用的内存越低是越好,基于这个想法,我们看看Spring B ...
- Bootstrap初学基础总结
Bootstrap 1>.Web UI 框架 可以帮助菜鸟程序员 ,迅速简便的搭建起专业级界面效果 2>如何快速掌握利用框架 1.框架的整合和搭建,让框架能够正常跑起来 2.通过复制粘贴文 ...
- 模拟Push和Pop动作
//利用CATransition来作模拟 //模拟Push - (void)pushView:(UIView *)pushView inView:(UIView *)inView { CATransi ...
- 12.Project Fields to Return from Query-官方文档摘录
1 插入例句 db.inventory.insertMany( [ { item: "journal", status: "A", size: { h: 14, ...
- redis安装使用教程
一:安装redis 1.下载redis并安装 $wget http://redis.googlecode.com/files/redis-2.2.10.tar.gz $tar zvxf redis-2 ...