Hadoop扩容

概述

Hadoop存储容量或计算能力不能满足日益增长的需求时,就需要扩容。

扩容有两个方案:

1) 增加磁盘

2) 增加节点

方案一:扩大虚拟磁盘

扩大容量

将虚拟的Linux关闭,扩大磁盘容量

将空间增大20G

建立分区

增加空间后Linux并不会识别出新增加的磁盘空间

需要为这块新增的空间建立分区

新建分区

打开Linux

fdisk /dev/sda#调整磁盘分区

m #进入帮助引导模式

n #新增分区

p #指定新分区为基本分区

一路回车 #但要记住分区号

w #保存并执行刚才的分区操作

reboot #重启

查看新增分区

fdisk -l

格式化

找到新增加的分区,还记得刚才的分区号吗?

#将数字换成刚才分配的分区号

挂载

Linux没有盘符,所以增加分区之后,需将分区映射到某一个文件夹上,以便使用。

新建文件夹

如果使用现有文件夹,则文件夹中的文件在挂载后将无法访问

mkdir /newdisk

临时挂载

 /newdisk

挂载成成功后可以查看挂载情况(没有挂载时用这个命令看不到)

df -lhT

#l表示列出

#h表示使用可读性更好的方式打印磁盘大小

#T表示列出文件类型

开机自动挂载

打开 /etc/fstab

增加

扩容datanode

配置

在hdfs-site.xml中增加配置项

<property>

<name>dfs.datanode.data.dir</name>

<value>${hadoop.tmp.dir}/dfs/data,
/newdisk</value>

</property>

/newdisk就是指定datanode使用新增的磁盘作为存储空间!可以指定多个存储位置

注意:将${hadoop.tmp.dir}替换成当前的hadoop临时目录

重启

stop-dfs.sh

start-dfs.sh

注意:如果在集群模式下,只需要重启该datanode即可!

验证

访问Hadoop浏览站点,可以看到该datanode存储空间增加了。

方案二:新增磁盘

以上适用于虚拟机所在的物理磁盘还有多余空间的情况。而生产环境中,还有一种情况是增加全新的硬盘(相当于买一块新硬盘插到主板上),用虚拟机也能模式出这种情况。

增加新磁盘

添加磁盘之后,启动Linux,新磁盘对应的是

/dev/sdb #第一块磁盘是sda,第二块是sdb,第三块是sdc…

然后从上面的【格式化】步骤继续进行就可以了

Linux下 磁盘扩容的两种方式的更多相关文章

  1. linux 下部署nodejs(两种方式)

    本次博客的编写时用的系统环境,刚装好的Centos 6.4  64位虚拟机. 另外关于linux 其他系统的安装 可以参考https://github.com/joyent/node/wiki/Ins ...

  2. Linux下安装Oracle的两种方式------有图形界面安装和静默安装

    本文参考文章 http://blog.csdn.net/zonej/article/details/50680857 http://blog.csdn.net/tongzidane/article/d ...

  3. linux下登陆MongoDB的两种方式

    第一种:不带auth认证的 第二种:需要带auth认证的(即需要用户名和密码的) 当指定用户名和密码在查看数据,发现就可以看得到了 查看文章:开启MongoDB客户端访问控制

  4. 【转】Linux下软件安装的几种方式

    转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...

  5. Linux 下操作GPIO(两种方法,驱动和mmap)(转载)

    目前我所知道的在Linux下操作GPIO有两种方法: 1.编写驱动,这当然要熟悉Linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据io ...

  6. Linux 下操作gpio(两种方法,驱动和mmap)

    目前我所知道的在linux下操作GPIO有两种方法: 1.  编写驱动,这当然要熟悉linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据 ...

  7. linux下软件安装的几种方式

    linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...

  8. 20155212 C语言实现linux下pwd命令的两种方法

    20155212 C语言实现linux下pwd命令的两种方法 学习pwd命令 通过man pwd命令查看 pwd [OPTION],一般不加参数 -P显示当前目录的物理路径 -L显示当前目录的连接路径 ...

  9. Linux进程分配内存的两种方式--brk() 和mmap()

    如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看. majflt代表major fault,中文名叫大错误,minflt代表minor faul ...

随机推荐

  1. 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?【转载】

    转载自:http://www.cnblogs.com/dancefire/archive/2013/01/02/why-notifyDataSetChanged-does-not-work.html ...

  2. Linux Eclipse 运行Protobuf

    安装环境Ubuntu 14.04 64 bit 安装过程分为三步 1. Linux下安装Protobuf 2. Eclipse下安装protobuf.dt插件 3. Eclipse下配置动态链接库并运 ...

  3. cocos2d-x 3.0 在C++中调用lua函数(2)

    个人觉得3.0里面, 在C++下面调用lua函数很不方便, 所以就扩展了一个类, 继承自LuaStack, 代码和使用方式如下: #ifndef __CC_LUA_STACKEX_H_ #define ...

  4. Echarts调整图表上下左右的间距,Echarts调整柱状图左右的间距

    Echarts调整图表上下左右的间距,Echarts调整柱状图左右的间距 >>>>>>>>>>>>>>>> ...

  5. Qt生成ui文件对应的.h和.cpp文件

    在VS中,可以通过CMake设定QT5_WRAP_UI来编译a.ui到ui_a.h, 要想快速生成a.h和a.cpp,经过尝试,必须使用Qt Creator,否则就手写.

  6. JAVA对URL的解码【转】

    前段时间做URL的中文转换,有些url是utf8的格式,有的是gb2312的格式,很难区分到底是utf8还是gb2312,找了好久,发现网上的一个牛人写的转换代码: package org.apach ...

  7. iOS 在已有项目添加CoreData

    本文转载至 http://cnbin.github.io/blog/2016/03/11/ios-zai-yi-you-xiang-mu-tian-jia-coredata/ 如果是新项目很好说,新建 ...

  8. C++中class与struct的区别(struct的类型名同时可以作为变量名)

    通常我们知道的区别: (一)默认继承权限.如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理: (二)成员的默认访问权限.class的成员默 ...

  9. jTemplates

    jTemplates是一个基于JQuery的模板引擎插件,功能强大,有了他你就再不用为使用JS绑定数据集时发愁了. 首先送上jTtemplates的官网地址:http://jtemplates.tpy ...

  10. MFC onchar()

    为什么在CView类中可以对ON_CHAR进行相应,添加消息处理函数onchar就可以了,但是在CDialog中要对ON_CHAR相应,直接添加不行? CView相当于Text控件,你可以在Text控 ...