多卷&使用Hadoop限制磁盘使用量

时间:2011-08-23 08:32:02

标签: hadoop hive

我正在使用Hadoop处理大量数据。我设置了一个hadoop节点来使用多个卷:其中一个卷是带有10To磁盘的NAS,另一个是来自服务器的本地磁盘,存储容量为400 GB。 问题是,如果我理解,数据节点将尝试在每个卷中放置相同数量的数据。因此,当我在大量数据上运行作业时,400 GB的磁盘很快就会满了,而10 To磁盘仍然有足够的空间。然后我的map-reduce程序由Hive冻结产生,因为我的群集打开安全模式...
我试图为限制数据节点的磁盘使用设置属性,但它什么也没做:我仍然有同样的问题。 希望有人能帮助我。

好吧,我的mapreduce程序似乎打开了安全模式,因为:

The ratio of reported blocks 0.0000 has not reached the threshold 0.9990.

我在namenode web界面上看到了这个错误。我想使用属性 dfs.safemode.threshold.pct 禁用此选项,但我不知道这是否是解决问题的好方法?

2 个答案:

答案 0 :(得分:0)

我认为您可以求助dfs.datanode.fsdataset.volume.choosing.policy

<property><name>dfs.datanode.fsdataset.volume.choosing.policy</name><value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>

答案 1 :(得分:0)

使用dfs.datanode.du.reserved中的$HADOOP_HOME/conf/hdfs-site.xml配置设置限制磁盘使用。

Reference

<property> 
    <name>dfs.datanode.du.reserved</name> 
    <!-- cluster variant --> 
    <value>182400</value> 
    <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use. 
  </description> 
  </property>