Hadoop HDFS垂直扩容(磁盘扩容)

1,893 阅读3分钟
公司最近HDFS存储空间不够用了,清理了一部分过时文件,整个集群也只释放了300G空间,经过反馈,解决方案是对dn添加磁盘。

这是扩容之前的存储情况:图片是两个月前的旧图,当时slave1~3全部满了,第四台机器是水平扩容新增的dn节点,水平扩容要点请参考这一篇:HDFS添加数据节点注意事项 2021-03-11T03:25:10.png

垂直扩容: 一、挂载磁盘(华为云) 注意区分系统在用硬盘和即将挂载的硬盘,千万千万不要搞错了

1、使用df -TH 和fdisk -l查看分区对比,df中是系统已经挂载过的,fdisk是所有硬盘信息,本次扩容计划每个机器新增容量5*1T,通过下边查询到的信息,可以看到之前已用45%的vdb,新挂载的vdc、vdd、vde、vdf,本次需要挂载vdg分区。

[root@hadoopSlave4 dev_vdf]# df -TH | grep dev
devtmpfs       devtmpfs  8.4G     0  8.4G   0% /dev
tmpfs          tmpfs     8.4G     0  8.4G   0% /dev/shm
/dev/vda1      ext4       43G  2.5G   38G   7% /
/dev/vdb       ext4      2.2T  915G  1.2T  45% /home
/dev/vdc       ext4      1.1T  160M  1.1T   1% /mnt/dev_vdc
/dev/vdd       ext4      1.1T   80M  1.1T   1% /mnt/dev_vdd
/dev/vde       ext4      1.1T   80M  1.1T   1% /mnt/dev_vde
/dev/vdf       ext4      1.1T   80M  1.1T   1% /mnt/dev_vdf
[root@hadoopSlave4 dev_vdf]# fdisk -l | grep dev
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
/dev/vda1   *        2048    83886079    41942016   83  Linux
Disk /dev/vdb: 2199.0 GB, 2199023255552 bytes, 4294967296 sectors
Disk /dev/vdc: 1073.7 GB, 1073741824000 bytes, 2097152000 sectors
Disk /dev/vdd: 1073.7 GB, 1073741824000 bytes, 2097152000 sectors
Disk /dev/vde: 1073.7 GB, 1073741824000 bytes, 2097152000 sectors
Disk /dev/vdf: 1073.7 GB, 1073741824000 bytes, 2097152000 sectors
Disk /dev/vdg: 1073.7 GB, 1073741824000 bytes, 2097152000 sectors

2、新建挂载目录

mkdir /mnt/dev_vdg
cd /mnt/dev_vdg

3、进入磁盘分区工具,这一步操作主要参考华为云文档:参考文档

(1)fdisk /dev/vdg

(2)输入n+回车

(3)4个enter

(4)输入p+回车

(5)输入w+回车

4、后续操作

#使用命令重新读取分区信息,无需重启系统。
partprobe
#格式化新分区
mkfs -t ext4 /dev/vdg
#挂载分区到指定目录
mount /dev/vdg /mnt/dev_vdg
#重新查看系统分区,看到vdg,证明挂载是成功的
[root@hadoopSlave4 /]# [root@hadoopSlave4 dev_vdg]# df -TH
pfs          tmpfs     8.4G     0  8.4G   0% /sys/fs/cgroup
/dev/vda1      ext4       43G  2.5G   38G   7% /
tmpfs          tmpfs     1.7G     0  1.7G   0% /run/user/0
/dev/vdb       ext4      2.2T  915G  1.2T  45% /home
/dev/vdc       ext4      1.1T  164M  1.1T   1% /mnt/dev_vdc
/dev/vdd       ext4      1.1T   80M  1.1T   1% /mnt/dev_vdd
/dev/vde       ext4      1.1T   80M  1.1T   1% /mnt/dev_vde
/dev/vdf       ext4      1.1T   80M  1.1T   1% /mnt/dev_vdf
/dev/vdg       ext4      1.1T   80M  1.1T   1% /mnt/dev_vdg

5、将挂载信息写入/etc/fstab文件,否则下次开机启动时仍然需要重新挂载。

#获取磁盘UUID
sudo blkid /dev/vdg
#写入/etc/fstab文件
vi /etc/fstab 
#按照格式添加对应信息
UUID=fc787e42-0701-45d1-9f02-e3689561aa42 /mnt/dev_vdg  ext4    defaults        1 2

二、HDFS集群

1、配置对应的dn服务器上hdfs-site.xml文件,其中/home/data/hadoop/data为原有文件夹

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/data/hadoop/data,/mnt/dev_vdc,/mnt/dev_vdd,/mnt/dev_vde,/mnt/dev_vdf,/mnt/dev_vdg</value>
    </property>

2、重启对应的dn

/home/soft/hadoop2.10/sbin/hadoop-daemon.sh stop datanode
/home/soft/hadoop2.10/sbin/hadoop-daemon.sh start datanode

3、重启后需要一点时间,等dn重新连接到集群,查看hdfs中dn集群信息 2021-03-11T04:04:35.png