最近项目上采集的数据量超出预期,hbase集群中的datanode节点磁盘使用过快,基本都超过50%,按现有的使用频率来看,预计只能继续支撑3个月左右,考虑着要加新的硬盘,但是却被这么一个小问题折腾了好一会才解决,特地在此记录一下。
centos环境下挂载新硬盘
1、硬盘分区
1.1、显示硬盘及所属分区情况
fdisk -l
显示当前的硬盘及所属分区的情况。如下图所示:
1.2对新硬盘进行分区
fdisk /dev/sdb
在Command (m for help)提示符后面输入m显示一个帮助菜单
在Command (m for help)提示符后面输入n,执行 add a new partition 增加新分区。
出现Command action时,输入e,指定分区为扩展分区(extended)。
出现Partition number(1-4)时,输入1表示只分一个区。
后续指定起启柱面(cylinder)号完成分区。
在Command (m for help)提示符后面输入p,显示分区表。
系统提示如下:
DeviceBoot Start End Blocks Id System
/dev/sdb1 1 26108 209712478+ 5 Extended
在Command (m for help)提示符后面输入w,保存分区表。
系统提示:The partition table has been altered!
在终端窗口中输入如下命令:
fdisk -l
如下图所示:
系统已经识别了硬盘 /dev/sdb1 的分区。
2、硬盘格式化 | Format hard disk
2.1、显示硬盘及所属分区情况
mkfs -t ext4 -c /dev/sdb1
说明:-t ext4 表示将分区格式化成ext4文件系统类型。
3、挂载硬盘分区
3.1、显示硬盘挂载情况
在终端窗口中输入如下命令:
mount /dev/sdb1 /data1
说明:
将 /dev/sdb1 分区挂载到目录 /data1 。 /data1是指向的一个空文件夹
再次在终端窗口中输入如下命令:
df -l
新硬盘分区已经挂载,如下图最下面的红色方框内容。
3.2、配置硬盘在系统启动时自动挂载
如果不做此步骤,系统重启后,/dev/sdb1和文件夹/data1的挂载关系会丢失。
在文件 /etc/fstab 中加入如下配置:
/dev/sdb1 /data1 ext4 defaults 0 0
(磁盘分区) (挂载目录) (文件格式)
至此,系统增加新磁盘的操作结束。
增加集群datanode的空间
1、修改hdfs-site.xml文件
给被挂载的目录赋予权限
chown -R hadoop:hadoop /data1
修改hdfs-site.xml
<property>
<name>dfs.datanode.data.dir</name>
<value>
file:/opt/hadoop-2.7.2/tmp/dfs/data, file:/data1
</value>
</property>
注:用“,”将新旧目录隔开。
重启集群。
2、检验
打开hadoop的web监控页面,到datanode页签查看节点的磁盘是否已经扩大。