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 are considered imbalanced. If the free space of all the volu