我需要在cloudera中将hdfs内存从50 GB扩展到200 GB。 我使用的是带有300 GB可用spage的虚拟机,但hdfs仅配置为在hdfs上使用50 GB。 我的dfs.namenode.name.dir指向默认的dfs / nn
<name>dfs.namenode.name.dir</name>
<value>file:///dfs/nn</value>
我的hdfs dfsadming -report给了我:
[root@localhost conf.cloudera.hdfs] hdfs dfsadmin -report
Configured Capacity: 55531445863 (51.72 GB)
Present Capacity: 6482358272 (6.04 GB)
DFS Remaining: 3668803584 (3.42 GB)
DFS Used: 2813554688 (2.62 GB)
DFS Used%: 43.40%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
我该怎么办? Redhat上的文件夹容量是否有上限(比如说每个文件夹创建50GB)?我应该向dfs.namenode.name.dir添加一个新文件夹,每个文件夹是否会为hdfs使用添加50GB?
答案 0 :(得分:0)
从下面的资源 - 您似乎需要检查每个节点的dfs.datanode.du.reserved
设置,并使用下面的公式检查磁盘空间是否正确使用...
根据属性&#34; dfs.datanode.du.reserved&#34;,它被配置为 使用4.25 GB,因此我现在考虑分配4.25 GB 给定节点中的每个数据目录。由于我有两个数据目录 分区,组合的保留空间为每个节点8.5 GB 这使得每个节点上配置的容量为23.5 GB(32GB - 8.5GB)。我到达了以下公式===&gt;已配置容量=为数据目录分配的总磁盘空间(dfs.data.dir) - 非DFS使用的预留空间(dfs.datanode.du.reserved)
Configured-Capacity-quot-shows-less-size-than-the-original
what-exactly-non-dfs-used-means
更新: also see...
dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold
- 仅在dfs.datanode.fsdataset.volume.choosing.policy设置为org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy
时使用。 - 此设置控制允许的DN卷在被视为不平衡之前在可用磁盘空间的字节数方面有多大差异。如果所有体积的自由空间都在这个范围内,那么体积将被认为是平衡的,并且块分配将在纯循环的基础上完成。
dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction
- 仅在dfs.datanode.fsdataset.volume.choosing.policy
设置为org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy
时使用。 - 此设置控制将新块分配的百分比发送到具有比其他磁盘空间更多可用磁盘空间的卷。此设置应在0.0 - 1.0范围内,但在实践中为0.5 - 1.0,因为没有理由希望具有较少可用磁盘空间的卷接收更多块分配