如何将我的 hadoop DFS 的配置容量从默认的 50GB 增加到 100GB?
我目前的设置是在 centOS6 机器上运行的 hadoop 1.2.1,使用了 120GB 的 450GB。使用“Hadoop the Definitive Guide 3'rd”建议的 /conf 将 hadoop 设置为 psudodistributed 模式。hdfs-site.xml 只有一个配置属性:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
以下行没有给出错误反馈......回到提示。
hadoop dfsadmin -setSpaceQuota 100g /tmp/hadoop-myUserID
Run Code Online (Sandbox Code Playgroud)
如果我处于 regen 循环中(已执行
rm -rf /tmp/hadoop-myUserId
Run Code Online (Sandbox Code Playgroud)
试图“从头开始”) setSpaceQuota 的这种看似成功仅在我执行时才发生
start-all.sh
hadoop namenode -format
Run Code Online (Sandbox Code Playgroud)
我的 dfs 容量配置失败显示为
hadoop dfsadmin -report
Run Code Online (Sandbox Code Playgroud)
它显示了相同的 50GB 配置容量。
如果这是当前获得 100GB hdfs 配置容量的最佳方式,我愿意切换到 hadoop 2.2(现在稳定版本)。似乎 hdfs-site.xml 应该有一个配置属性,它允许我使用更多的空闲分区。
将 hdfs 的位置设置为具有更多可用空间的分区。对于 hadoop-1.2.1,这可以通过在 hadoop-1.2.1/conf/core-site.xml 中设置 hadoop.tmp.dir 来完成
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/myUserID/hdfs</value>
<description>base location for other hdfs directories.</description>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
跑步
df
曾经说过我的 _home 分区是我的硬盘,为我的 /
(_root) 分区减去 50GB 。hdfs 的默认位置是 /tmp/hadoop-myUserId,它位于 / 分区中。这是我最初的 50GB hdfs 大小的来源。
hdfs 目录的分区位置的创建和确认是由
mkdir ~/hdfs
df -P ~/hdfs | tail -1 | cut -d' ' -f 1
Run Code Online (Sandbox Code Playgroud)
成功实施是由
stop-all.sh
start-dfs.sh
hadoop namenode -format
start-all.sh
hadoop dfsadmin -report
Run Code Online (Sandbox Code Playgroud)
它将 hdfs 的大小报告为我的 _home 分区的大小。
感谢 jtravaglini 的评论/线索。
| 归档时间: |
|
| 查看次数: |
8441 次 |
| 最近记录: |