更新时间:2024-11-29 GMT+08:00
当多个data.dir被配置在一个磁盘分区内,DataNode的容量计算将会出错
问题
当多个data.dir被配置在一个磁盘分区内,DataNode的容量计算将会出错。
回答
目前容量计算是基于磁盘的,类似于Linux里面的df命令。理想状态下,用户不会在同一个磁盘内配置多个data.dir,否则所有的数据都将写入一个磁盘,在性能上会有很大的影响。
因此建议配置如下:
例如,如果机器有如下磁盘:
host-4:~ # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 352G 11G 324G 4% / udev 190G 252K 190G 1% /dev tmpfs 190G 72K 190G 1% /dev/shm /dev/sdb1 2.7T 74G 2.5T 3% /data1 /dev/sdc1 2.7T 75G 2.5T 3% /data2 /dev/sdd1 2.7T 73G 2.5T 3% /da
建议的配置方式:
<property> <name>dfs.datanode.data.dir</name> <value>/data1/datadir/,/data2/datadir,/data3/datadir</value> </property>
不建议的配置方式:
<property> <name>dfs.datanode.data.dir</name> <value>/data1/datadir1/,/data2/datadir1,/data3/datadir1,/data1/datadir2,data1/datadir3,/data2/datadir2,/data2/datadir3,/data3/datadir2,/data3/datadir3</value> </property>
父主题: HDFS常见问题