我创造了一个 EC2
linux计算机打开 AWS
云 8 GB
根卷,然后部署hadoop和spark,并在该计算机上创建单节点集群。
当我打开hadoop的主页时,我看到了所有的好东西。
Configured Capacity: 7.74 GB
DFS Used: 3.72 MB (0.05%)
Non DFS Used: 4.47 GB
DFS Remaining: 3.27 GB (42.23%)
Block Pool Used: 3.72 MB (0.05%)
到目前为止,一切正常。现在我想在这个ec2示例上添加更多的存储。因此,我使用了一个40gb的ebs块存储,并在其上创建了一个ext4文件系统,并将其装载到ec2示例的/data目录中。使用df-h命令,我可以看到空间是所有安装和正确可用`
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 12K 3.9G 1% /dev
tmpfs 799M 400K 799M 1% /run
/dev/xvda1 7.8G 4.1G 3.3G 56% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 0 3.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdb 40G 48M 38G 1% /data
但是在hadoop页面上 (http://*<myec2-ip>*:50050/)
,我仍然看到相同的 7.74GB
而没有看到容量的增加。
我甚至尝试重新格式化hadoop文件系统,但这也没有帮助。
bin/hadoop namenode-格式
如何在hadoop文件系统上添加这个额外的存储?
2条答案
按热度按时间7gcisfzg1#
我所做的是:
在/etc/hadoop/hdfs-site.xml文件的config下面添加了
作为
/data
是我将新ebs卷装载到的目录。我使用以下命令停止hadoop和yarn服务:
当我使用
hadoop
运行hadoop服务器的用户,我hadoop
用户作为所有者使用以下命令然后我又重新启动了hadoop服务。
ahy6op9u2#
您需要编辑hdfs-site.xml以在新卷中装载目录,以放置namenode或datanode数据。
dfs.datanode.data.dir
-确定dfs数据节点应在本地文件系统上的何处存储其块。如果这是以逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常存储在不同的设备上dfs.namenode.name.dir
-确定dfs名称节点应在本地文件系统上的何处存储名称表(fsimage)。如果这是一个逗号分隔的目录列表,那么名称表将复制到所有目录中,以实现冗余然后需要重新启动相应的hdfs服务
尽量避免格式化namenode。这样做会丢失所有hdfs数据