hadoop添加磁盘扩容
磁盘准备
定位新磁盘
使用 lsblk
或者 sudo fdisk -l
命令来查看系统上已连接的磁盘,并找到你想要挂载的新磁盘的设备名称,比如 /dev/sda2
。
lsblk
sudo fdisk -l
格式化新磁盘
假设新磁盘的设备名是 /dev/sda2
,使用以下命令将其格式化为 ext4 文件系统:
sudo mkfs.ext4 /dev/sda2
获取新磁盘的 UUID
使用 blkid
命令获取新磁盘的 UUID。这将帮助你在 /etc/fstab
文件中正确地配置挂载信息。
sudo blkid /dev/sda2
输出内容如下,记录下输出中的 UUID
,它将用于后续步骤中的 /etc/fstab
文件配置。
/dev/sda2: UUID="xxxxx" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="xxxxx"
挂载磁盘
创建一个新的挂载目录,比如 /mnt/sda2,需要注意这个目录的权限要当前用户可以访问,如果不是当前用户的,需要chown给当前用户
:
mkdir /mnt/sda2
打开 /etc/fstab
文件,并添加一行来配置新磁盘的挂载信息。使用 sudo vi /etc/fstab
或者 sudo nano /etc/fstab
编辑器打开文件。
在文件的末尾添加以下行(将实际的 UUID 替换为上一步中的值):
UUID=xxxxxxxx /mnt/sda2 ext4 defaults 0 2
运行以下命令来测试并应用 /etc/fstab
中的更改,确保没有错误:
sudo mount -a
修改hdfs配置信息
现在,需要将新挂载的路径添加到 HDFS 的数据目录配置中。
修改配置信息,例如我的hadoop目录是在/data/hadoop-3.2.3/,hdfs的配置目录在etc/hadoop/hdfs-site.xml,修改哪一个节点,修改对应配置节点的这个配置文件就行
vi /data/hadoop-3.2.3/etc/hadoop/hdfs-site.xml
修改 dfs.data.dir
属性
找到 <configuration>
节点内部的 dfs.data.dir
属性,并将新的挂载路径添加到已有的路径列表中。例如:
<property> <name>dfs.data.dir</name> <value>file:/home/dell/hdfs/data,file:/mnt/sda2</value> </property>
重启hdfs
最后回到namenode,主节点,重启一下dfs就可以了
/data/hadoop-3.2.3/sbin/start-dfs.sh /data/hadoop-3.2.3/sbin/stop-dfs.sh
查看集群状态
使用 hdfs dfsadmin -report
命令来检查 HDFS 集群的状态报告,确保新添加的存储路径已经成功被识别和添加。
hdfs dfsadmin -report