我在EC2上使用Hadoop YARN而不是r3.xlarge实例,我使用spark-ec2脚本从AMI启动了实例。
在https://aws.amazon.com/ec2/instance-types/上,r3.xlarge的规格如下:
vCPU: 4
Mem: 30.5 GiB
Storage: 1 x 80 GB
记忆力很好,自由命令给了我这个结果:
root@ip-xxx-xx-xx-xxx ~]$ free -g
total used free shared buffers cached
Mem: 29 2 27 0 0 1
但是存储不符合指定的存储。
root@ip-xxx-xx-xx-xxx ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 6.9G 783M 91% /
devtmpfs 15G 64K 15G 1% /dev
tmpfs 15G 0 15G 0% /dev/shm
在文档中指定只有~40GB而不是80GB是否正常?或者这是因为我从AMI启动了实例?
答案 0 :(得分:2)
两个tmpfs
目录不是您丢失的80gb所在的目录。这看起来像Debian / Ubuntu发行版。我可以复制类似于df
的内容:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 15G 12K 15G 1% /dev
tmpfs 3.0G 328K 3.0G 1% /run
/dev/xvda1 7.8G 790M 6.6G 11% /
none 15G 0 15G 0% /run/shm
注意/dev/xvda1
。那是你在ELB上的启动分区。您的80 GB SSD实际上位于/dev/xvdb
。你需要使用它:
mkdir -p /mnt/ssd && mkfs.ext4 /dev/xvdb \
&& echo '/dev/xvdb /mnt/ssd auto defaults,nobootwait 0 0' >> /etc/fstab \
&& mount /mnt/ssd
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 15G 12K 15G 1% /dev
tmpfs 3.0G 328K 3.0G 1% /run
/dev/xvda1 7.8G 790M 6.6G 11% /
/dev/xvdb 74G 52M 70G 1% /mnt/ssd
恭喜!您现在是80GB安装座的自豪拥有者。好的,不是80gb。让我们获得80gb:
$ df -H
Filesystem Size Used Avail Use% Mounted on
udev 17G 13k 17G 1% /dev
tmpfs 3.3G 336k 3.3G 1% /run
/dev/xvda1 8.4G 828M 7.1G 11% /
/dev/xvdb 80G 55M 76G 1% /mnt/ssd
答案 1 :(得分:1)
您的文件系统可能位于EBS上,而不是r3.xlarge
附带的实例存储。这是大多数AMI的默认设置。请注意,EBS卷的大小不是图像的一部分。您可以在创建实例时选择它。
实例存储在更大的实例类型上可用,如下所示:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html
AMI映像有两个根存储设备选项。最常见的是EBS映像,它使用EBS作为根设备。由于EBS并未锁定特定硬件,因此这些实例更加灵活。
另一个选项是具有实例存储根存储设备的AMI。但是,您将无法在不终止的情况下停止实例,更改实例类型,调整存储设备大小以及与实例本身分开管理存储。
实例存储AMI通常标记为S3。例如:amzn-ami-hvm-2016.03.0.x86_64-s3
(ami-152bc275)。