我知道hadoop中的块的默认大小是64 MB。我想改变它。我怎样才能做到这一点? 感谢
答案 0 :(得分:4)
在Hadoop版本1.0中,默认大小为64MB,在版本2.0中,默认大小为128MB。但是如果要更改块大小,请转到 hdfs-site.xml 文件并添加以下属性
<property>
<name>dfs.block.size<name>
<value>134217728<value>
<description>Block size<description>
<property>
注意:我们应该提到位的大小。例如:134217728位= 128 MB。
如需进一步查询,请转到此链接( 额外 )
答案 1 :(得分:2)
有两个参数 dfs.block.size (已弃用且新的参数为dfs.blocksize)和 mapred.max.split.size (已弃用且为新参数是mapreduce.input.fileinputformat.split.maxsize)。当你运行mapreduce程序并且没有给mapred.max.split.size提供任何值时,它采用默认的dfs.block.size,但你可以配置值并控制映射器的数量(但必须谨慎性能)影响esp。当分割大小超过块大小时,映射器通过网络搜索数据,因为数据块将分布在节点上。)
如果你真的想控制地图块大小,最好为每个mapreduce程序执行此操作,而不是设置dfs.block.size,因为它是一个全局参数,并影响存储在hdfs中的所有文件。
此链接详细说明了相同内容 - Split size vs Block size in Hadoop
答案 2 :(得分:1)
Hadoop 1.x:dfs块的默认大小为64 MB
Hadoop 2.x:dfs块的默认大小为128 MB。
从官方网站查看hdfs-default.xml。
dfs.blocksize
134217728
新文件的默认块大小(以字节为单位)。您可以使用以下后缀(不区分大小写):k(kilo),m(兆),g(千兆),t(tera),p(peta),e(exa)来指定大小(例如128k,512m) ,1g等),或提供完整的字节大小(例如134217728,128 MB)