3

我正在使用 Amazon EMR,并且能够正常运行大多数作业。当我开始在 EMR 集群中加载和生成更多数据时,我遇到了问题。集群存储空间不足。

每个数据节点都是一个 c1.medium 实例。根据此处此处的链接,每个数据节点应带有 350GB 的实例存储。通过 ElasticMapReduce Slave 安全组,我能够在我的 AWS 控制台中验证 c1.medium 数据节点正在运行并且是实例存储。

当我在 namenode 上运行 hadoop dfsadmin -report 时,每个数据节点都有大约 10GB 的存储空间。通过运行 df -h 进一步验证了这一点

hadoop@domU-xx-xx-xx-xx-xx:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  2.6G  6.8G  28% /
tmpfs                 859M     0  859M   0% /lib/init/rw
udev                   10M   52K   10M   1% /dev
tmpfs                 859M  4.0K  859M   1% /dev/shm

如何配置我的数据节点以使用完整的 350GB 存储启动?有没有办法使用引导操作来做到这一点?

4

1 回答 1

7

经过更多研究并在 AWS 论坛上发帖后,我得到了一个解决方案,尽管我并没有完全了解幕后发生的事情。我想如果可以的话,我会把这个作为答案发布。

结果发现 AMI 版本 2.0 中存在一个错误,这当然是我尝试使用的版本。(我已经切换到 2.0,因为我希望 hadoop 0.20 成为默认值)AMI 版本 2.0 中的错误会阻止在 32 位实例上安装实例存储,这就是 c1.mediums 启动的内容。

通过在 CLI 工具上指定 AMI 版本应使用“最新”,问题已得到解决,并且每个 c1.medium 都使用适当的 350GB 存储空间启动。

例如

./elastic-mapreduce --create --name "Job" --ami-version "latest" --other-options

有关使用 AMI 和“最新”的更多信息,请参见此处。目前“最新”设置为 AMI 2.0.4。AMI 2.0.5 是最新的版本,但看起来还是有一点问题。

于 2012-06-02T13:58:07.697 回答