磁盘也是由数据块组成的,一般默认大小是512字节,构建磁盘之上的文件系统一般是磁盘块的整数倍。
         HDFS也是采用块管理的,但是比较大,在Hadoop1.x中默认大小是64M,Hadoop2.x中大小默认为128M,那为什么HDFS块这么大呢,又为什么Hadoop2.x中数据块更大了呢?
          权威指南中说,为了最小化寻址开销,也就是让文件传输时间明显大于块的寻址时间,还有就是减轻NameNode的负担,因为在NameNode中存储这块所在数据节点的信息。但是也不能过于大,因为MapReducer中一般一个map处理一个块上的数据,如果块很大,任务数会很少(少于集群中的节点个数)这样执行效率会明显降低。
          使用块有什么好处?假如上传的一个文件非常大,没有任何一块磁盘能够存储,这样这个文件就没法上传了,如果使用块的概念,会把文件分割成许多块,这样这个文件可以使用集群中的任意节点进行存储。数据存储要考虑容灾备份,以块为单位非常有利于进行备份,HDFS默认每个块备份3份,这样如果这个块上或这个节点坏掉,可以直接找其他节点上的备份块。还有就是,有的时候需要将备份数量提高,这样能够分散机群的读取负载,因为可以在多个节点中寻找到目标数据,减少单个节点读取。

HDFS数据块的更多相关文章

  1. Hadoop hadoop 之hdfs数据块修复方法

    hadoop 之hdfs数据块修复方法: .手动修复 hdfs fsck / #检查集群的健康状态 hdfs debug recoverLease -path 文件位置 -retries 重试次数 # ...

  2. hdfs 数据块重分布 sbin/start-balancer.sh -threshold

    数据块重分布sbin/start-balancer.sh -threshold <percentage of disk capacity>percentage of disk capa ...

  3. HDFS读写数据块--${dfs.data.dir}选择策略

    最近工作需要,看了HDFS读写数据块这部分.不过可能跟网上大部分帖子不一样,本文主要写了${dfs.data.dir}的选择策略,也就是block在DataNode上的放置策略.我主要是从我们工作需要 ...

  4. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我 ...

  5. 【Hadoop】HDFS冗余数据块的自动删除

    HDFS冗余数据块的自动删除 在日常维护hadoop集群的过程中发现这样一种情况: 某个节点由于网络故障或者DataNode进程死亡,被NameNode判定为死亡, HDFS马上自动开始数据块的容错拷 ...

  6. HDFS源码分析数据块校验之DataBlockScanner

    DataBlockScanner是运行在数据节点DataNode上的一个后台线程.它为所有的块池管理块扫描.针对每个块池,一个BlockPoolSliceScanner对象将会被创建,其运行在一个单独 ...

  7. HDFS源码分析数据块复制监控线程ReplicationMonitor(二)

    HDFS源码分析数据块复制监控线程ReplicationMonitor(二)

  8. HDFS冗余数据块的自动删除

    HDFS冗余数据块的自动删除 在日常维护hadoop集群的过程中发现这样一种情况: 某个节点由于网络故障或者DataNode进程死亡,被NameNode判定为死亡,HDFS马上自动开始数据块的容错拷贝 ...

  9. HDFS源码分析数据块复制监控线程ReplicationMonitor(一)

    ReplicationMonitor是HDFS中关于数据块复制的监控线程,它的主要作用就是计算DataNode工作,并将复制请求超时的块重新加入到待调度队列.其定义及作为线程核心的run()方法如下: ...

随机推荐

  1. WebStorm Cordova 环境搭建

    一.软件安装 1.nodejs 2.npm 3.Cordova 如果慢,可以修改镜像,再进行安装. npm config set registry http://registry.cnpmjs.org ...

  2. 解决error: Unable to find vcvarsall.bat【python 2.7/vs2010】

    转自:http://blog.csdn.net/secretx/article/details/17472107 去下载安装VS2010(08版貌似也行,不过没必要用旧版,指不定哪个库又无法编译),给 ...

  3. 收集各种在线HTTP网站载入速度(响应时间)站长测试(检测)工具

    收集各种在线HTTP网站载入速度(响应时间)站长测试(检测)工具 名称\详情 简单功能描述 推荐星级 演示/示例 监控宝 从中国多地对你提交的URL进行载入速度(响应时间)测试 ★★★★★   17C ...

  4. PHP 开发环境的搭建和使用02--整合让apache处理php

    PHP5.3.5直接下载解压即可.但是怎样才能让apache处理php呢? 1/  在apache 的conf目录下 的 httpd.conf(用于指定apache的设置)加入如下代码:   Load ...

  5. Spring boot:logback文件配置

    resources文件夹下:新建logback-spring.xml文件. 文件内容like: <?xml version="1.0" encoding="UTF- ...

  6. Oracle涂抹oracle学习笔记第10章Data Guard说,我就是备份

    DG 是备份恢复工具,但是更加严格的意义它是灾难恢复 Data Guard是一个集合,由一个Primary数据库及一个或者多个Standby数据库组成,分两类逻辑Standby和物理Standby 1 ...

  7. Quartz.net 基于配置的调度程序实践

    1.Nuget 搜索并安装Quartz.net 2.3.3  2.添加配置到App.config <?xml version="1.0" encoding="utf ...

  8. 多线程入门-第七章-线程的同步Synchronized

    /* 异步编程模型:两个线程执行自己的,互不影响. 同步编程模型:t1和t2执行,t2必须等t1执行结束之后才能执行. 为什么要线程同步? 1.为了数据的安全,尽管应用程序的使用率降低,但是为了保证数 ...

  9. spring 拾遗

    1.@PostConstruct VS  init-method 1.1 both BeanPostProcessor 1.2 @PostConstruct is a JSR-250 annotati ...

  10. Mybatis框架学习总结-解决字段名与实体类属性名不相同的冲突

    在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定是完全相同的. 1.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY ...