公司最近HDFS存储空间不够用了,清理了一部分过时文件,整个集群也只释放了300G空间,经过反馈,解决方案是对dn添加磁盘。
这是扩容之前的存储情况:图片是两个月前的旧图,当时slave1~3全部满了,第四台机器是水平扩容新增的dn节点,水平扩容要点请参考这一篇:HDFS添加数据节点注意事项
垂直扩容: 一、挂载磁盘(华为云) 注意区分系统在用硬盘和即将挂载的硬盘,千万千万不要搞错了
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集群信息