dfs.blocksize配置原理
Hdfs存储的块大小,可以根据dfs.blocksize进行配置。
根据最佳传输消耗理论,一次传输中寻址时间为总传输时间的1%为最佳状态。
一般机器磁盘寻址时间为10ms,一次写入数据总传输时间为10ms % 1% = 1000ms
一次写入数据最佳大小则为 1000ms * 磁盘写入速度
如果磁盘的写入速度是100M/S, 块最佳大小为 1000ms * 100M/S = 100M, 可以设置dfs.blocksize=128M
如果磁盘的写入速度是300M/S, 块最佳大小为 1000ms * 300M/S = 300M, 可以设置dfs.blocksize=256M
如果磁盘的写入速度是500M/S, 块最佳大小为 1000ms * 500M/S = 500M, 可以设置dfs.blocksize=512M
如果块太小,会降低NN的服务能力,在上传和读取一个文件时会带来额外的寻址时间消耗。 如果块太大,如果发生异常,需要重新传输,会造成网络IO消耗,而且不够灵活。