更新时间:2024-07-24 GMT+08:00

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>