如何将dfs数据移至新磁盘

时间:2018-09-24 14:01:38

标签: hadoop

[关于Hadoop的新手问题]

我目前有hadoop 2.7.2的单节点实现。 机器磁盘空间不足: df -h给予

Filesystem  Size   Used   Avail  Use%    Mounted on
/dev/vdb    50G    39G    12G    78%     /app

使用率一旦达到80%,群集就会挂起。因此,我应该在计算机上添加更多磁盘。

增加磁盘空间的最佳方法是什么?

方法A:

  • 添加新磁盘(/dev/vdc
  • 将其安装到任何文件夹(例如/hadoop_data
  • 更新hdfs-site.xml以添加指向挂载点的dfs.datanode.data.dir节点

方法A的缺点:

  • 不会阻止第一个配置的文件夹变满
  • 有点“混乱”,因为所有数据分散在多个安装点上

方法B:

  • 停止hadoop
  • 添加新磁盘(/dev/vdc
  • 将该新磁盘安装为/app_new
  • /edx/app_new之间进行同步
  • 在两个磁盘之间交换安装点
  • 启动hadoop

方法B的缺点:

  • 如果hadoop保留了对磁盘ID的任何引用,则可能会起作用

什么是“最干净的”选项? 有第三种方法吗?

1 个答案:

答案 0 :(得分:0)

遵循方法A。

只需添加更多步骤:

在Datanodes目录中提及目录名称,以便您的集群知道您已添加了新的Datanode目录。

现在,只需运行HDFS balancer命令,然后数据将被均等地转移到两个Datanodes上,并且您的错误将消失。