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

Gir*_*Rao 3 hadoop amazon-ec2 amazon-web-services elastic-map-reduce emr

我正在使用亚马逊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
Run Code Online (Sandbox Code Playgroud)

如何配置我的数据节点以使用完整的350GB存储启动?有没有办法使用引导操作执行此操作?

Gir*_*Rao 7

在AWS论坛上进行了更多的研究和发布后,我得到了一个解决方案,虽然没有完全理解引擎盖下发生的事情.如果可以,我想发布这个作为答案.

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

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

例如

./elastic-mapreduce --create --name "Job" --ami-version "latest" --other-options
Run Code Online (Sandbox Code Playgroud)

有关使用AMI和"最新"的更多信息,请点击此处.目前"最新"设置为AMI 2.0.4.AMI 2.0.5是最新版本,但看起来它仍然是一个小马车.