Hadoop集群中添加硬盘
Hadoop工作节点扩展硬盘空间
接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈。
这些我把完成这项任务的步骤和我遇到的问题和解决方法总结一下,分享给大家。
1. 首先,介绍一下用到的基本命令和配置,如果本文的网友时间比较紧,可以直接跳过部分内容,直接看“2. 如何加载新硬盘”部分。
(1)命令fdisk
语法:
fdisk [-b sectorsize] device
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk –v
说明:
-b <sectorsize> 指定每个分区的大小。也可以执行fdisk device(如:fdisk /dev/sdb)后,在系统提示时指定。
-l 列出指定的外围设备的分区表状况。如果仅执行 fdisk -l,系统会列出已知的分区。
-u 搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。
-s <parttion> 将指定的分区的大小输出到标准输出上,单位为区块。
-v 显示fdisk的版本信息。
(2)命令mkfs
语法:mkfs [-V][-t fstype] [fs-options] filesys
说明:
-V 显示简要的使用方法。
-t <fstype> 指定要建立何种文件系统,如:ext3, ext4。
fs 指定建立文件系统时的参数。
-v 显示版本信息与详细的使用方法。
(3)命令mount
语法:
mount [-afFnrsvw] [-t vfstype] [-Llabel] [-o options] device dir
mount [-lhv]
说明:
-a 加载文件/etc/fstab中设置的所有设备。
-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。
-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。
-t vfstype 指定加载的文件系统类型,如:ext3,ext4。
-L label 给挂载点指定一个标签名称。
-l 显示分区的label。
-h 显示帮助信息。
-v 显示mount的版本信息。
device 要挂载的分区或文件。如果device是一个文件,挂载时须加上-o loop参数。
dir 分区的挂载点。
(4)fstab配置说明
/etc/fstab 中一共有6列:
file system:指定要挂载的文件系统的设备名称(如:/dev/sdb)。也可以采用UUID,UUID可以通过使用blkid命令来查看(如:blkid /dev/sdb)指定设备的UUID号。
mount point:挂载点。就是自己手动创建一个目录,然后把分区挂载到这个目录下。
type:用来指定文件系统的类型。如:ext3, ext4, ntfs等。
option dump:0表示不备份;1表示要将整个<file system>中的内容备份。此处建议设置为0。
pass:用来指定fsck如何来检查硬盘。0表示不检查;挂载点为分区/(根分区)必须设置为1,其他的挂载点不能设置为1;如果有挂载ass设置成大于1的值,则在检查完根分区后,然后按pass的值从小到大依次检查,相同数值的同时检查。如:/home 和 /boot 的pass 设置成2,/devdata的pass 设置成3,则系统在检查完根分区,接着同时检查/boot和/home,再检查/devdata。
2. 如何加载新硬盘(想详细了解为什么会这样操作,请看第三部分“详解步骤”部分)
(1) 通过命令fdisk –lu,显示“Disk /dev/sdb doesn't contain a valid partition table”说明sdb就是新添加的硬盘,下面主要针对它进行操作。如图1所示。
图1
(2) 下面对sdb进行分区,命令:fdisk/dev/sdb,如下图2所示,按提示操作。
图2
根据提示,输入n,想新硬盘添加一个分区。出现Commandaction时,输入e,指定分区为扩展分区(extended)。出现Partition number(1-4)时,输入1表示只分一个区。
续指定起启柱面(cylinder)号完成分区。如图3所示。
图3
(3) 最后输入p,打印出新硬盘分区表,图4所示。
图4
(4) 在Command (m for help)提示符后面输入w,保存分区表。系统提示:Thepartition table has been altered! 如图5所示。
图5
(5) 此时,用命令fdisk –lu分区情况,如图6所示
图6
(6) 对新分区进行格式化:sudo mkfs -t ext4 /dev/sdb,(推荐ext4,时间比较快,具体了解看第三部分“详细步骤”)如图7所示。
图7
(7) 挂载硬盘sudo mount -t ext4 /dev/sdb /devdata(这里devdata是自己制定的目录,你可以指定任意目录,我加载的目录是dfs.data.dir指定的目录),到此时已经完成了所有步骤,下面就是修补。此时就可以用命令sudo df –h查看了,如图8所示。
图8
(8) 如果想每次手动加载,使用命令mount –a。如果想让系统自动加载,需要配置/etc/fstab,如下图9所示。
图9
到此加载过程完成。
如果是Hadoop集群,此时需要将每个工作节点dfs.data.dir目录重新修改权限,使用命令:chown –R dm:dm/usr/local/hadoop/data/(这是dfs.data.dir指向的目录),然后将namenode格式化即可,这里笔者就是忘了更改dfs.data.dir指向目录的权限,导致datanode启动不起来,汗啊。
3. 详解步骤
(1)对于2中(1)的名称sdb,其实Linux对设备的命名有它自己的一套规则,根据接口类型来区分存储设备,按存储设备占用的系统接口编号为其分配标识符。对于IDE存储设备(并口设备)标识符为hd,按设备使用接口的不同,分别命名为had,hdb,hdc等;对于SCSI接口,SATA接口设备(串口)和串行总线接口使用sd作为标识,仍按照使用接口编号不同,以sda,sdb等为其命名。
(2)对2中的(2)分区。在使用硬盘存储数据时,还需要对硬盘进行分区,按分区的使用方法可以将硬盘分区分为3种:主分区、扩展分区和逻辑分区。其中主分区是最基本的分区类型,它可以直接挂载并存储数据,一个硬盘最多只能有4个主分区。Linux系统中对这4个主分区使用1、2、3、4作为标识符。例如硬盘sda上的第1个主分区的标识为sda1,同理其他三个标识分别为sda2,sda3, sda4;扩展分区是一种特殊的主分区,如果要使用扩展分区存储数据,必须先将扩展分区划分为逻辑分区(即逻辑分区加你在扩展分区基础之上),如果要在一个硬盘上创建4个以上的分区,就必须使用扩展分区。由于扩展分区也是一种主分区,因此扩展分区也占用一个主分区号;在扩展分区分区基础之上,可以创建多个逻辑分区,逻辑分区可以直接挂载并存储数据。逻辑分区的标识数字从5开始,例如sda5,sda6。Linux系统中的硬盘分区使用以上标识符命名并保存在/dev中,要使用分区存储数据时,需要将对应的块设备文件挂载到一个目录下。挂载设备的过程可以描述成:为用户使用该分区存放和读取数据提供一个接口和途径。这里为什么创建扩展分区,而不是创建主分区,笔者的理由是主分区包含启动的一些附加信息,而这些信息是用来引导系统启动的,这里的磁盘只是为了扩充原有磁盘的容量来存储数据,如果扩展分区直接分成逻辑分区,不需要这些附加信息,从而可以更加充分地利用新硬盘的空间,这个解释不保证正确,如果有误,请智者指正。
(3)2中(6)提到了文件系统ext4,可以参考http://baike.baidu.com/view/266589.htm#7
(4)2中(8)的fstab设置可参考http://baike.baidu.com/view/5499388.htm。
引用网址:http://aofengblog.blog.163.com/blog/static/6317021201101502540117/
Hadoop集群中添加硬盘相关推荐
- HADOOP实践101:在Hadoop集群中添加机器和删除机器
无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个服务不中断. 本次操作之前,Hadoop的集群情况如下: HDFS的机器情况如下: MR的机器情况如下: 添加机器 在集群的Master机 ...
- Hadoop集群中添加Snappy解压缩库
Snappy是用C++开发的压缩和解压缩开发包,旨在提供高速压缩速度和合理的压缩率.Snappy比zlib更快,但文件相对要大20%到100%.在64位模式的Core i7处理器上,可达每秒250~5 ...
- 《Hadoop集群与安全》一2.1 在Hadoop集群中配置操作系统
本节书摘来自华章出版社<Hadoop集群与安全>一书中的第2章,第2.1节,作者 (美)Danil Zburivsky Sudheesh Narayanan,更多章节内容可以访问云栖社区& ...
- Hadoop集群中运行MapReduce程序错误记录
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for ...
- CentOS6上Hadoop集群中服务器cpu sys态异常的定位与解决
问题现象 在zabbix系统中,对Hadoop集群的历史监控数据分析时,发现在执行大Job任务时,某些服务节点的cpu sys态很高: 具体以hadoop_A服务节点为例,在10:15-10:40这个 ...
- 大数据Hadoop集群中常用的任务调度框架
在大数据的集群环境中,经常用到的任务调度框架有如下几个,根据公司的业务的需要选择适合自己的业务调度的框架, 调度框架anzkaban,crontab(Linux自带).zeus(Alibaba).Oo ...
- Hadoop集群中HDFS的API测试案例以及MapReduce的多种提交Job方式案例
这两个案例默认是hadoop集群环境已经搭建好以及IDEA环境也已经配置好 1.HDFS客户端测试案例 1.1.pom依赖 <?xml version="1.0" encod ...
- 从Hadoop集群中移除一块磁盘的操作
2019独角兽企业重金招聘Python工程师标准>>> 背景 由于历史原因,CDH的hadoop的每个DataNode节点下挂载了多个磁盘,后要对一些配置差的磁盘要用配置较好的新磁盘 ...
- 虚拟机Centos系统下hadoop集群中静态IP配置
为了学习大数据,然后想在自己的电脑的虚拟机上搭建hadoop集群,搭建了一段时间,我才发现CentOS系统的静态IP设置是十分有必要的.我的hadoop集群只有两个节点,一个master,另一个是sl ...
最新文章
- Java项目:花店商城系统(java+Springboot+Maven+mybatis+Vue+Mysql)
- 缓存核心知识小抄,面试必备,赶紧收藏!
- java设计模式-建造者模式
- Celery分布式任务队列的认识和基本操作
- html如何控制弹窗位置,控制弹窗展示顺序
- Go Concurrency Patterns: Context
- 【科普】半监督学习的概述与思考,及其在联邦学习场景下的应用
- 如何计算机操作维护培训,电脑基本操作培训教材.ppt
- Kai - Golang实现的目标检测云服务
- 利用ping/ipconfig/nslookup/dig/whois简单工具测试DNS
- JSR 168 and Portlet
- OS X 使用技巧——在Finder窗口标题栏上显示路径
- tinyxml读xml
- Win32软件开发: 按键精灵 鼠标模拟器(VibraClick)
- 一测振系统包括微型计算机,实验六 拍振实验
- 基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之RSA的解决方案(九)
- swoole开发多人在线游戏新手教程
- 达梦数据库更换key文件的方法
- html初学者对相对地址,绝对地址的理解
- 智能家居网络安全攻与防
热门文章
- rmi of spring
- WebForm编辑器的相关资源
- ubuntu 配置minicom 进行串口开发
- 继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素...
- cobbler 配置(转载)
- Http报头Accept与Content-Type的差别
- CapsLock魔改大法——变废为宝实现高效编辑
- 关于Java中try-catch-finally-return语句的思考
- WCF HelpPage 和自动根据头返回JSON XML
- 做网站用UTF-8还是GB2312?