我正在运行单节点Hadoop部署。我知道我的应用程序需要多少数据,我可以设置(并重新设置)HDFS使用的 max 容量吗?
我已尝试过以下操作,但似乎无法使其发挥作用。
hadoop namenode -format
hdfs dfsadmin -setSpaceQuota 2g /
hdfs dfsadmin -report #still显示旧容量
编辑: 只想添加现有容量,我的名称节点出现在安全模式。所以我不能像-format,-rm这样的操作,因为我可以做只读操作。我可以放弃所有数据,我只想缩小现有的HDFS卷。
答案 0 :(得分:3)
我认为使用-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 /
也许这就是你想看到的!?
此致
马丁
答案 1 :(得分:0)
运行-setQuota命令时检查以下任何一个
用户不是管理员,或 目录不存在或是文件,或 该目录将立即超过新配额。
如果上述所有情况都没有问题,那么
你的hadoop.tmp.dir的值是'/'???