在hadoop单节点集群上添加ebs卷

5anewei6  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(480)

我创造了一个 EC2 linux计算机打开 AWS8 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文件系统上添加这个额外的存储?

7gcisfzg

7gcisfzg1#

我所做的是:
在/etc/hadoop/hdfs-site.xml文件的config下面添加了

<property>
    <name>dfs.datanode.data.dir</name>
    <value>/data</value>
</property>

作为 /data 是我将新ebs卷装载到的目录。
我使用以下命令停止hadoop和yarn服务:

$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh

当我使用 hadoop 运行hadoop服务器的用户,我 hadoop 用户作为所有者使用以下命令

sudo chown hadoop /data

然后我又重新启动了hadoop服务。

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
ahy6op9u

ahy6op9u2#

您需要编辑hdfs-site.xml以在新卷中装载目录,以放置namenode或datanode数据。 dfs.datanode.data.dir -确定dfs数据节点应在本地文件系统上的何处存储其块。如果这是以逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常存储在不同的设备上 dfs.namenode.name.dir -确定dfs名称节点应在本地文件系统上的何处存储名称表(fsimage)。如果这是一个逗号分隔的目录列表,那么名称表将复制到所有目录中,以实现冗余
然后需要重新启动相应的hdfs服务
尽量避免格式化namenode。这样做会丢失所有hdfs数据

相关问题