HDFS 存储多目录及注意事项

一、HDFS 为什么要配置多目录存储

正常情况下,一台机器只有一块硬盘是不够的,会造成 HDFS 存储空间紧张,因此需要对 DataNode 进行磁盘扩展

二、配置 HDFS 多目录存储

1.首先要看一下机器上的磁盘使用情况

注意,这里一共有 4 个目录可以提供存储空间,即:/、/hd3、/hd4、/hd2

2.在 hdfs-site.xml 文件中配置多目录,这里需要注意新挂载磁盘的访问权限问题

<property>
    <name>dfs.datanode.data.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/data1,file:///hd2/dfs/data2,file:///hd3/dfs/data3,file:///hd4/dfs/data4</value>
</property>

注意,hdfs-site.xml 文件配置 value 中的 file,要对应磁盘中已有的存储目录,即:/、/hd3、/hd4、/hd2。别没有的还往上写,瞎写,那肯定出问题啊。

3.增加磁盘后,保证每个目录数据均衡

  • 开启数据均衡命令:bin/start-balancer.sh –threshold 10。参数 10 代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。
  • 停止数据均衡命令:bin/stop-balancer.sh

三、注意事项总结

  • 新挂载磁盘的访问权限问题,一般新挂载的磁盘是root权限,配置一下:chmod 777 ......
  • hdfs-site.xml 文件配置 value 中的 file,要对应磁盘中已有的存储目录
  • 数据均衡不能一直开启,因为它会不停的去监控数据分配状态,一旦有不均衡就会拷贝,消耗性能。

猜你喜欢

转载自blog.csdn.net/S_Alics/article/details/108516717