工作中不免会有碰到服务器磁盘空间不足,需要另外挂载磁盘上去的时候,这时候问题就来了,怎么能让datanode将数据写入新挂载的磁盘呢?
1、配置hdfs-site.xml
<property> <name>dfs.datanode.data.dir</name> <value>file:///${hadoop.tmp.dir}/dfs/data1,file:///sdb1/dfs/data2</value> </property>
2、数据存放策略
参考大佬博客 https://blog.csdn.net/bigdatahappy/article/details/39992075
默认为轮询,现在的情况显然应该用“选择空间多的磁盘存”模式
配置hdfs-site.xml
<property> <name>dfs.datanode.fsdataset.volume.choosing.policy</name> <value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value> </property>