转自: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扩容。

【转】Hadoop集群添加磁盘步骤的更多相关文章

  1. Hadoop集群datanode磁盘不均衡的解决方案

    一.引言: Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点,节点与节点之间磁盘大小不一样等等.当hdfs出现不平衡状况的时候,将引发很多问题,比 ...

  2. Hadoop集群datanode磁盘不均衡的解决方案【转】

    一.引言: Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点,节点与节点之间磁盘大小不一样等等.当hdfs出现不平衡状况的时候,将引发很多问题,比 ...

  3. 大数据实操3 - hadoop集群添加新节点

    hadoop集群支持动态扩展,不需要停止原有集群节点就可以实现新节点的加入. 我是使用docker搭建的进群环境,制作了镜像文件,这里以我的工作基础为例子介绍集群中添加集群的方法 一.制作一个新节点 ...

  4. hadoop集群添加新节点

    0.说明 Hadoop集群已经运行正常,现在新买了一些机子,要加入到集群里面增加新的节点.以下就是增加的过程. 1.配置运行环境 安装与master和其他slave相同的java环境,jdk版本要相同 ...

  5. Hadoop集群环境搭建步骤说明

    Hadoop集群环境搭建是很多学习hadoop学习者或者是使用者都必然要面对的一个问题,网上关于hadoop集群环境搭建的博文教程也蛮多的.对于玩hadoop的高手来说肯定没有什么问题,甚至可以说事“ ...

  6. Hadoop集群添加新节点步骤

    1.在新节点中进行操作系统配置,包括主机名.网络.防火墙和无密码登录等. 2.在所有节点/etc/host文件中添加新节点 3.把namenode的有关配置文件复制到该节点 4.修改master节点s ...

  7. Hadoop记录-Hadoop集群添加节点和删除节点

    1.添加节点 A:新节点中添加账户,设置无密码登陆 B:Name节点中设置到新节点的无密码登陆 C:在Name节点slaves文件中添加新节点 D:在所有节点/etc/hosts文件中增加新节点(所有 ...

  8. 在hadoop集群添加了slave节点的方法

    分为以下几个步骤: 1  ,修改master和slave 的参数,和配置时相同,只是修改和节点数相关,如slaves(我的只改了slaves), 将任意一个该好的文件发送到新增加的机器(或者虚拟机) ...

  9. spark、hadoop集群添加节点

    1.首先添加hdfs的节点,将安装包上传到服务器,设置好环境变量.配置文件按之前spark集群搭建的那里进行修改. 设置完成后,要对新节点新型格式化: # hdfs  dfs  namenode  - ...

随机推荐

  1. UVALive 6125 I’ve Got Your Back(gammon) 题解

    http://vjudge.net/problem/viewProblem.action?id=37481 East Central Regional Contest Problem D: I’ve ...

  2. JQUERY 模糊选择

    JQUERY 模糊选择        [属性名称]         匹配包含给定属性的元素      [att=value]       匹配包含给定属性的元素      [att*=value]   ...

  3. 每日一练(写不出心得体会了!毕竟哪有那么多心得好写。然后看github上有很多不错的题目。分享一下!)

    第一题: 问题描述:写一个reverseWords函数 调用方式:console.log(reverseWords('Hello World')); 期望输出:World Hello 第二题: 问题描 ...

  4. [Effective JavaScript 笔记] 第14条:当心命名函数表达式笨拙的作用域

    js函数会根据上下文改变其含义. function double(x){return x*2;} 这是一个函数声明,也可以是一个命名函数表达式(named function expression),取 ...

  5. python4delphi Python could not be properly initialized. We must quit.

    要用32位的DLL,不要用64位的dll Unable to load Python 2.7 dll with Delphi 2010 #6  Closed GoogleCodeExporter op ...

  6. HTML5 自制本地网页视频播放器

    HTML5初试:本地视频用网页打开啦半个广告都可以没有,看来暴风什么的快要淘汰了. 视频格式还是有要求的,看来要备一个转码器. 格式 IE Firefox Opera Chrome Safari Og ...

  7. 深度学习入门教程UFLDL学习实验笔记二:使用向量化对MNIST数据集做稀疏自编码

    今天来做UFLDL的第二个实验,向量化.我们都知道,在matlab里面基本上如果使用for循环,程序是会慢的一逼的(可以说基本就运行不下去)所以在这呢,我们需要对程序进行向量化的处理,所谓向量化就是将 ...

  8. Android 云服务器的搭建和友盟APP自动更新功能的实现

    setContentView(R.layout.activity_splash); //Bmob SDK初始化--只需要这一段代码即可完成初始化 //请到Bmob官网(http://www.bmob. ...

  9. js 猜数字游戏

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. 给mysql数据库插入当前时间

    mysql相关的三个函数有: NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中.CURDATE()以’YYYY-MM-DD’的格式返回 ...