Amazon EMR:在数据节点上配置存储

时间:2012-06-01 19:23:11

标签: hadoop amazon-ec2 amazon-web-services elastic-map-reduce emr

我正在使用Amazon EMR,我可以运行大多数工作。当我开始加载并在EMR集群中生成更多数据时,我遇到了问题。群集用完了存储空间。

每个数据节点都是c1.medium实例。根据链接herehere,每个数据节点应该带有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存储启动?有没有办法使用引导操作来执行此操作?

1 个答案:

答案 0 :(得分:7)

经过对AWS论坛的更多研究和发布后,我得到了一个解决方案,虽然没有完全理解引擎盖下发生的事情。如果可以的话,我想把它作为答案发布。

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

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

例如

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

有关使用AMI和“最新”的更多信息,请访问here。目前“最新”设置为AMI 2.0.4。 AMI 2.0.5是最新版本,但看起来它仍然是一个小马车。