【转】Hadoop集群添加磁盘步骤

转自:http://blog.csdn.net/huyuxiang999/article/details/17691405

一、实验环境 :

1、硬件:3台DELL服务器,CPU:2.27GHz*16,内存:16GB,一台为master,另外2台为slave。

2、系统:均为CentOS6.3

3、Hadoop版本:CDH4.5,选用的mapreduce版本不是yarn,而是mapreduce1,整个集群在cloudera manager的监控下,配置时也是通过manager来配置(通过更改配置文件是一样的道理)。

二、背景:

随着数据量的增长,实验室的hdfs存储不够,故新买了2*2TB的硬盘,加装在2台datanode服务器上。hadoop不需要做raid(hdfs有其他机器保证数据冗余),因此将硬盘直接插在服务器上,在BIOS中找到新的硬盘即可。

三、硬盘分区、格式化:

每个硬盘分5个区,其中三个为主分区,另外两个为逻辑分区。

1、查看硬盘挂载情况

输入命令fdisk -l可以查看系统中有几块硬盘。一般第一块硬盘为/dev/sda,第二块为/dev/sdb,以此类推。如果没有找到加装的那块硬盘,说明系统没有识别,需重启服务器,进入BIOS设置。

2、硬盘分区

输入命令fdisk /dev/sdb(因为这里是第二块硬盘,所以输入的是/dev/sdb,这个需要根据情况)

这里可以输入m看一下具体有哪些参数。

输入p,可以显示本硬盘分区情况,由于是新硬盘,因此没有分区信息。

下面创建第一个主分区。

输入n创建分区,然后在接下来的提示中输入p,代表创建主分区,再输入1,表示创建第一个主分区(一共可以创建4个主分区),接下来输入起始柱面,一般就选默认,然后输入结束柱面,此处也可输入大小,如+400G,表示这个分区的大小为400G,这样,第一个主分区就创建好了。

然后按上述步骤创建第2,第3个主分区,均为400G。

接下来创建2个逻辑分区。

输入n,然后在接下来的提示中输入e,表示创建扩展分区,输入起始柱面,一般为默认,然后输入结束柱面,同样为默认,表示此扩展分区使用剩下的所有空间。这样,一个扩展分区就做好了,然后我们要在这个扩展分区上创建两个逻辑分区,创建的方法和创建主分区很相似,同样先输入n,然后接下来的步骤相信读者一定会做了。

最后所有分区创建完之后,记得输入w保存分区,否则等于没有做。

3、格式化分区

输入命令mkfs -t ext4 /dev/sdb1,表示把分区/dev/sdb1格式化成ext4文件系统,同样的方法格式化其他分区。

4、mount分区到目录

可以选择把某一分区mount到已有目录,也可以mount到新建目录。注意如果mount到已有目录,要先把该目录下的文件备份。本文是新建目录的:mkdir -p /hd/sdb1,然后mount /dev/sdb1 /hd/sdb1,同样mount其他分区。

5、修改/etc/fstab

如果不修改,则每次开机时都要手动做第4步,比较麻烦。打开fstab文件,按照已有的条目添加5个新建分区,每一个条目的最后两个数据均为0 0

四、hdfs扩容

我把上述5个分区的容量全部加到hdfs中。首先在每一个分区的挂载目录中新建子目录/dfs/dn,如mkdir -p /hd/sdb1/dfs/dn,然后修改dn目录的权限:

chown -R hdfs:hadoop /hd/sdb1/dfs/dn

这样hdfs才能使用该目录(每一个分区都要新建/dfs/dn)。

打开cloudera manager,找到“服务”-》“hdfs”

选择“配置”-》“查看和编辑”,然后在左边找到datanode(默认),右边的第一个属性中,原来只有一个条目(我的是/dfs/dn),为了使hdfs使用新的硬盘,因此要添加我们创建的分区,后面的5条都是我加的目录。

然后点开datanode(默认)

找到“高级”,在右边的datanode卷选择策略中,选择“可用空间”,这样,后面的两个属性(“10G字节”和“0.75”)就会发挥作用,用于平衡各个卷中空间使用。

保存以上配置,然后重启hdfs,即可将hdfs扩容。

posted @ 2016-05-19 08:49  HarkLee  阅读(5432)  评论(0编辑  收藏  举报