hdfs需要存写大量文件,有时磁盘会成为整个集群的性能瓶颈,所以需要优化hdfs存取速度,将数据目录配置多磁盘,既可以提高并发存取的速度,还可以解决一块磁盘空间不够的问题。
- 首先dfs.name.dir和yarn.nodemanager.local-dirs的目录都不大,完全可以不配多磁盘或者只配置2块磁盘,最主要就是将dfs.data.dir配置成多磁盘。所以只需要修改dfs.data.dir即可:
<property>
<name>dfs.data.dir</name>
<value>/home/bigdata/datac/,/home/bigdata/datac</value>
</property>
- 如果配置了多磁盘,还需要配置磁盘存放选择策略,有2中磁盘存放选择策略,默认是第一种,但是第二种可能效率更高更优秀
<property>
<name>dfs.datanode.fsdataset.volume.choosing.policy</name>
<value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
</property>
参考:
hadoop2.0的datanode多目录数据副本存放策略,hadoop2.0datanode
为datanode配置多个数据存储地