zoukankan      html  css  js  c++  java
  • HDFS数据块

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

  • 相关阅读:
    clickhouse集群部署
    zookeeper集群部署
    linux下安装多路径multipath
    采用xtrabackup部署主从同步(生产)
    部署dg备库同步ogg
    goldengate同步(主库rac从库单节点)
    python3发送邮件
    python2发送邮件
    pip版本过高导致报错
    ERROR 1558 (HY000): Column count of mysql.user is wrong
  • 原文地址:https://www.cnblogs.com/hadoop-dev/p/6627799.html
Copyright © 2011-2022 走看看