Amazon web services d2.2xlarge上的空间不足
我通过EMR启动了一个Amazon web services d2.2xlarge上的空间不足,amazon-web-services,emr,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
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
从
存储是实例存储(当您停止实例时,它们将被装载并消失)。整个12 TB不在根目录上,而是作为6个磁盘装入
来自
存储是实例存储(当您停止实例时,它们将被装载并消失)。整个12 TB不在根目录上,而是作为6个磁盘装入
不清楚您何时遇到空间不足问题,但听起来好像是在手动下载时发生的,而不是在使用Hadoop时。所以我将以此作为下面解释的基础 每个Hadoop节点都将始终具有一个。此外,根据实例类型和配置,它可能具有临时卷和/或EBS卷以增加存储空间。这些卷不会增加根分区的大小,而是装载到不同的路径 正如您所提到的,您的
d2.2xlarge
附带6x2TB的临时存储空间,这些存储空间安装在几个名为/mnt*
的安装点上,如df
-输出所示。因此,如果您需要手动下载和存储大型数据,请将其存储在其中一个装载点下
请注意,AWS EMR中的所有存储卷,无论是临时存储还是EBS卷:
AmazonEBS在AmazonEMR中的工作方式与普通AmazonEC2实例不同。附加到EMR集群的Amazon EBS卷是短暂的:这些卷在集群和实例终止时被删除(例如,在收缩实例组时),因此不要期望数据持久化,这一点很重要
所以,无论您计划如何处理EMR中的可用存储,如果您手动将数据保存到其中一个卷,它迟早会丢失
由于EMR是一个托管Hadoop解决方案,它当然需要提供一种可靠存储数据的方法。Hadoop是一种分布式文件系统,它利用可用的卷,并通过保存数据的多个副本来确保数据可用。在EMR上,HDFS使用可用的临时存储卷以及连接到实例的EBS卷。即使使用HDFS,一旦拆除EMR集群,也会丢失数据
数据的真正持久存储可以通过将其存储在S3中来实现,也就是说,或者使用仅包含在EMR中的AWS专有解决方案来实现,该解决方案与上游解决方案相比具有一些优势
因此,通常的过程是仅在Hadoop节点的卷上手动存储数据,以便使用设置Hadoop环境所需的工具,使用S3或某些流式解决方案来输入数据,Hadoop在处理数据时使用HDFS作为中间位置,S3用于保存完成的结果。不清楚您何时遇到空间不足问题,但听起来好像是在手动下载某些内容时发生的,而不是在使用Hadoop时。所以我将以此作为下面解释的基础 每个Hadoop节点都将始终具有一个。此外,根据实例类型和配置,它可能具有临时卷和/或EBS卷以增加存储空间。这些卷不会增加根分区的大小,而是装载到不同的路径 正如您所提到的,您的
d2.2xlarge
附带6x2TB的临时存储空间,这些存储空间安装在几个名为/mnt*
的安装点上,如df
-输出所示。因此,如果您需要手动下载和存储大型数据,请将其存储在其中一个装载点下
请注意,AWS EMR中的所有存储卷,无论是临时存储还是EBS卷:
AmazonEBS在AmazonEMR中的工作方式与普通AmazonEC2实例不同。附加到EMR集群的Amazon EBS卷是短暂的:这些卷在集群和实例终止时被删除(例如,在收缩实例组时),因此不要期望数据持久化,这一点很重要
所以,无论您计划如何处理EMR中的可用存储,如果您手动将数据保存到其中一个卷,它迟早会丢失
由于EMR是一个托管Hadoop解决方案,它当然需要提供一种可靠存储数据的方法。Hadoop是一种分布式文件系统,它利用可用的卷,并通过保存数据的多个副本来确保数据可用。在EMR上,HDFS使用可用的临时存储卷以及连接到实例的EBS卷。即使使用HDFS,一旦拆除EMR集群,也会丢失数据
数据的真正持久存储可以通过将其存储在S3中来实现,也就是说,或者使用仅包含在EMR中的AWS专有解决方案来实现,该解决方案与上游解决方案相比具有一些优势
因此,通常的过程是仅在Hadoop节点的卷上手动存储数据,以便使用设置Hadoop环境所需的工具,使用S3或某些流式解决方案来输入数据,Hadoop在处理数据时使用HDFS作为中间位置,S3用于持久化完成的结果。--对此也有讨论。好像是超时了。运行
df-h
看看发生了什么事情——有一个关于这个问题的讨论。似乎是超时。运行df-h
查看发生了什么,但我不会停止实例。下载的数据仍然存在。我刚才提到的存储是实例存储,停止后不会持久。整个12 TB不在根目录下,它作为6个磁盘装载。啊,所以我需要装载每个磁盘吗?实际上,它似乎已经安装好了。那我怎么才能把数据写在那里呢?你不必