hadoop的dfs.datanode.data.dir是设置datanode节点存储数据块文件的本地路径,通常可以设置多个,用逗号隔开:
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/local/dfs-data,/usr/local/hadoop/dfs-data</value>
</property>
但随着数据量的增多,有可能会导致磁盘空间不均衡。
当前hadoop写入文件有两种策略,一种是默认的轮询方式,一种是根据可用空间的大小来判断写入。
配置参数:
<property>
<name>dfs.datanode.fsdataset.volume.choosing.policy</name>
<value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
</property>
此项配置是根据磁盘的可用空间来优先写入的策略。一般需要配合一下两个参数来使用:
dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold
默认值是10737418240,既10G,一般使用默认值就行,以下是该选项的官方解释:
This setting controls how much DN volumes are allowed to differ in terms of bytes of free disk space before they