bolck块、默认块大小的调大和调小

block介绍

  1. hadoop默认情况下,一个block块大小为128m
    HDFS以block块的形式存储在集群上,默认生成三份副本,存储在【${hadoop.tmp.dir/dfs.data}】目录下
    HDFS中小于一个块大小的文件不会占满整个快的空间,文件有多大占多大空间
    块是物理存在的,以文件的形式存储在数据节点datanode中,例如:
    bolck块、默认块大小的调大和调小_第1张图片
  2. block块大小设置合理性
    a.磁盘存储设备:机械、固态
    b.网络带宽
    c.业务数据
  3. HDFS中的fsck指令可以显示块信息
    文件系统中块构成:hdfs fsck / files -blocks

block块大小的调整

一、block块调大
修改hdfs.site.xml文件

	
		 dfs.blocksize
		 256m
	

二、block块调小

  1. 修改hdfs-site.xml文件中的dfs.blocksize属性值【同上,比如改为dfs.blockszie=10】

    #在执行上传指定时,会报异常如下:
    put: Specified block size is less than configured minimum value
    (dfs.namenode.fs-limits.min-block-size): 10 < 1048576

  2. 修改hdfs-site.xml文件中的dfs.namenode.fs-limits.min-block-size属性值
    默认的最小块大小是1m,修改时blocksize要大于min-block-size

    
      	dfs.namenode.fs-limits.min-block-size
      	1048576
    
    

    #修改完之后,在执行上传指令时还报异常,如下:
    -put: Invalid values: dfs.bytes-per-checksum (=512) must divide block size (=10).

  3. 修改hdfs.site.xml文件的dfs.bytes-per-checksum属性值
    checksum校验和是为了保证数据的完整性,一般不改,如果改都是要调大,但是也不能大于stream-buffer-size的值
    默认的大小为512字节,每512个字节去校验一个block块,但本例中的块大小为10字节,达不到校验的数值,所以要改小于10字节

    
      dfs.bytes-per-checksum
      512
    
    

你可能感兴趣的:(Hadoop,block块,block调整)