d2.2xlarge上的空间不足

时间:2017-09-05 21:37:52

标签: amazon-web-services emr

我通过EMR启动了d2.2xlarge实例。这些实例应该有12TB,但我得到了一个"设备上没有空间"下载几GB后出错。我以为所有这些存储空间都在根驱动器上,而不是EBS,所以我不确定是怎么回事。

这就是我所看到的:

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         30G   92K   30G   1% /dev
tmpfs            30G     0   30G   0% /dev/shm
/dev/xvda1      9.8G  9.7G     0 100% /
/dev/xvdb1      5.0G   44M  5.0G   1% /emr
/dev/xvdb2      1.9T  231M  1.9T   1% /mnt
/dev/xvdc       1.9T   34M  1.9T   1% /mnt1
/dev/xvdd       1.9T   34M  1.9T   1% /mnt2
/dev/xvde       1.9T   34M  1.9T   1% /mnt3
/dev/xvdf       1.9T   34M  1.9T   1% /mnt4
/dev/xvdg       1.9T   34M  1.9T   1% /mnt5

2 个答案:

答案 0 :(得分:1)

来自Now available: D2 instances, the latest generation of Amazon EC2 Dense-storage instances

存储是实例存储(它们在您停止实例时已挂载并消失)。整个12 TB不在root上,它安装为6个磁盘。

enter image description here

答案 1 :(得分:1)

当你遇到空间问题时,目前尚不清楚,但是当你手动下载某些内容时,它听起来就像是在使用Hadoop时发生的。所以我将把它用作下面解释的基础。

每个Hadoop节点始终都有10GB root volume。此外,根据实例类型和配置,它可能具有临时卷和/或EBS卷以增加存储空间。这些卷不会增加根分区的大小,但会挂载到不同的路径!

正如您所提到的,您的d2.2xlarge附带了6x 2TB的临时存储空间,这些存储空间已安装到名为/mnt*的多个挂载点,如df - 输出中所示。因此,如果您需要手动下载和存储大数据,请将其存储在其中一个挂载点下。

请注意AWS EMR中的所有存储卷,无论是临时存储还是EBS卷,are considered ephemeral

  

Amazon EBS在Amazon EMR中的工作方式与常规Amazon EC2实例的工作方式不同。连接到EMR集群的Amazon EBS卷是短暂的:在集群和实例终止时删除卷(例如,缩小实例组时),因此不要期望数据持续存在是很重要的。

因此,无论您打算如何处理EMR中的可用存储,如果您手动将数据保存到其中一个卷,它迟早会丢失!

由于EMR是一个受管理的Hadoop解决方案,它当然需要提供一种可靠地存储数据的方法。 Hadoop的HDFS作为分布式文件系统,利用可用的卷并通过保存数据的多个副本来确保数据可用。在EMR上HDFS使用可用的临时存储卷以及附加到实例的EBS卷。即使使用HDFS,一旦拆除EMR集群,您也会丢失数据!

数据的实际持久存储可以通过将其存储在S3 supported by upstream Hadoop中,或者通过仅包含在名为EMRFS的EMR中的AWS的专有解决方案来实现,这提供了优于上游解决方案的一些优势。

因此,通常的过程是仅在Hadoop节点的卷上手动存储数据,以获取设置Hadoop环境所需的工具,在处理数据时使用S3或某些流式解决方案来处理输入数据,HDFS Hadoop作为中间位置,S3用于持久保存完成的结果。