【问题标题】:Hadoop: Specify max size/capacity for HDFSHadoop:指定 HDFS 的最大大小/容量
【发布时间】:2014-04-08 00:35:13
【问题描述】:

我正在运行单节点 Hadoop 部署。我知道我的应用程序需要多少数据,我可以设置(并重新设置)HDFS 使用的最大容量吗?

我尝试了以下方法,但似乎无法成功。

  • 检查 hdfs-site.xml 和 core-site.xml 的默认值
  • 尝试了以下方法

hadoop 名称节点格式

hdfs dfsadmin -setSpaceQuota 2g /

hdfs dfsadmin -report #仍然显示旧容量

编辑: 只是想用现有容量添加它,我的名称节点以安全模式出现。所以我不能做-format,-rm之类的操作,因为我可以做只读操作。我可以丢失所有数据,我只想缩小现有的 HDFS 卷。

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    我认为 -report 命令不会显示磁盘/空间配额。结果只是显示了受操作系统限制(所有节点一起)有多少磁盘空间可用于 hdfs 文件系统。

    我正在使用 hadoop 2.3.0。

    尝试在您的 hadoop 盒子上执行以下操作:

    hdfs dfsadmin -setSpaceQuota 200g /
    

    然后你可以通过使用来获得/的配额

    hdfs dfs -count -q /
    9223372036854775807 9223372036854775791    214748364800    214687352772           11            5           30506298 /
    

    如果您使用

    清除配额
    hdfs dfsadmin -clrSpaceQuota /
    

    您将再次获得无限制(无限)的磁盘空间:

    hdfs dfs -count -q /
    9223372036854775807 9223372036854775791            none             inf           11            5           30506298 /
    

    也许这就是你想看到的!?

    问候

    马丁

    【讨论】:

    • 谢谢马丁,我会试试这个,但你知道这是否能解决 NameNode 在安全模式下启动的问题?我将通过澄清更新问题。
    • 你试过 hdfs dfsadmin -safemode leave
    【解决方案2】:

    在运行 -setQuota 命令时检查以下任何一项

    用户不是管理员,或者 该目录不存在或者是一个文件,或者 该目录将立即超过新配额。

    如果以上都可以的话

    你的 hadoop.tmp.dir 的值是 '/' ???

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 2015-07-03
      • 1970-01-01
      • 2018-02-18
      相关资源
      最近更新 更多