背景:
  Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt/diska时, HDFS会选择根分区, 当往HDFS里灌数据时, 导致的结果往往是根分区被快速的消耗尽, 而其他分区未见使用.
  在CDH版本中, HDFS的配置如下所示:

dfs.datanode.data.dir => /mnt/disk{N}/dfs/dn
dfs.datanode.data.dir.perm => 755

  由此可见: HDFS选择/mnt/disk{N}作为数据的存储目录是有来由的

  这种情况如何处理? 该问题的本质解决方案是, 通过重新挂载相应的磁盘分区到/mnt/diskn即可, 通过编辑fstab, 重启来实现.

解决方案:
  1. 采用mount的方式
  *) 创建/mnt/disk{N}
  mdkir -p /mnt/disk1
  mdkir -p /mnt/disk2
  *) 挂载/mnt/disk{N}
  mount /dev/sdb2 /mnt/disk1
  mount /dev/sdc1 /mnt/disk2

  mount后的磁盘如下所示:

root@server-ip:~ # df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 459G 358G 100G 79% /
devtmpfs 32G 188K 32G 1% /dev
tmpfs 32G 104K 32G 1% /dev/shm
/dev/sdb2 457G 320G 136G 71% /mnt/disk1
/dev/sdc1 459G 289G 147G 67% /mnt/disk2

  但采用mount的方式, 能解决一时的问题, 但重启之后, 之前mount的信息就丢失了.

  2. 采用fstab的方式
  *) 编辑/etc/fstab

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sdb2 /mnt/disk1 ext3 defaults 0 0
/dev/sdc1 /mnt/disk2 ext3 defaults 0 0

  *) 进行挂载测试

  mount -a
  echo $?
  mount -a没有任何输出, 并且echo $?返回结果为0, 则表示/etc/fstab配置没问题

  *) 系统重启
  reboot

相关内容:
  1. 如何查看磁盘分区等信息
  fdisk -l
  ls /dev/sd*
  2. /etc/fstab里的配置项的含义
  <file system> <mount point> <type> <options> <dump> <pass>
  <file system>: 设备名或者设备卷标名
  <mount point>: 设备挂载目录
  <type>: 设备文件系统, vfat, ext3, ext4, swap等
  <options>: 挂载参数, 可选用defaults
  <dump>: 指明是否要备份。(0为不备份,1为要备份,一般根分区要备份)
  <pass>: 指明自检顺序。 (0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2)

  /dev/sdb2 /mnt/disk1 ext3 defaults 0 0
  /dev/sdc1 /mnt/disk2 ext3 defaults 0 0

参考链接:
  http://blog.sina.com.cn/s/blog_6ce9e88701014jgl.html
  http://www.shangxueba.com/jingyan/121709.html

shell 脚本实战笔记(4)--linux磁盘分区重新挂载的更多相关文章

  1. shell 脚本实战笔记(9)--linux自动批量添加用户

    前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, ...

  2. Linux磁盘分区和挂载

    Linux磁盘分区和挂载 分区 分区的方式: mbr分区 最多支持4个主分区 系统只能安装到主分区上 扩展分区要占用一个主分区 MBR最大支持2TB,但拥有最好的兼容性 gtp分区 支持无线多个主分区 ...

  3. Linux 实用指令(7)--Linux 磁盘分区、挂载

    目录 Linux 磁盘分区.挂载 1 分区基础知识 1.1 分区的方式: 1.2 windows 下的磁盘分区 2 Linux分区 2.1 原理分析 2.2 磁盘说明 2.3 使用lsblk指令查看当 ...

  4. Linux磁盘分区、挂载、查看文件大小

    快速查看系统文件大小命令 du -ah --max-depth=1 后面可以添加文件目录 ,如果不添加默认当前目录. 下面进入正题~~ 磁盘分区.挂载 引言: ①.分区的方式 a)mbr分区: 最多支 ...

  5. Linux 磁盘分区和挂载

    目录 Linux 磁盘分区和挂载 windows 下的分区 磁盘管理 相关命令 分区及挂载实现步骤 添加硬盘 分区步骤 步骤 挂载步骤 卸载分区步骤 补充: Linux 磁盘分区和挂载 windows ...

  6. shell 脚本实战笔记(6)--集群环境配置检测

    1). 背景: 集群部署的时候, 需要一致的配置和环境设置. 对于虚拟机集群, 可以借助镜像拷贝, 复制和还原集群机器. 对与物理机集群而言, 则不一样, 如果机器一多, 多人去操作和配置, 对于成熟 ...

  7. linux磁盘分区、挂载、查看

    实战: 34    查看本机所有磁盘                 fdisk -l 35    查看磁盘挂载情况                lsblk -f 36            39: ...

  8. Linux磁盘分区-mount挂载

    Linux磁盘分区类型 磁盘存储术语CHS head:磁头  磁头数=盘面数 track:磁道  磁道=柱面数 sector:扇区,512bytes cylinder:柱面 1柱面=512*secto ...

  9. shell 脚本实战笔记(10)--spark集群脚本片段念念碎

    前言: 通过对spark集群脚本的研读, 对一些重要的shell脚本技巧, 做下笔记. *). 取当前脚本的目录 sbin=`dirname "$0"` sbin=`cd &quo ...

随机推荐

  1. SQLServer随机取记录

    SQLServer本身并没有提供随机读取记录的功能,但我们可以通过一些方法来实现这个目的.本文介绍了其中几种方法并比较了各自的优劣. 方法一:直接通过Sql语句实现,如: SELECT TOP 100 ...

  2. git/ssh备查文档

    配置多个ssh key: 待更新 git速查表: git remote set-url origin(远程仓库名称) https://xxxxx/ProjectName.git  从ssh切换至htt ...

  3. C# DataTable列名不区分大小写

    一直很纠结的就是DataTable的列名如何才能规范,从Oracle取出的DataTable都是大写,最后尝试了一下,原来C#的DataTable列名并不区分大小写,具体例子如下: DataTable ...

  4. [转]TOMCAT启动提示NB: JAVA_HOME should point to a JDK not a JRE解决

    来源:http://blog.csdn.net/caozhongyan/article/details/6602759 本人使用的Tomcat版本为apache-tomcat-6.0.18(用的是解压 ...

  5. codeforces 494a//Treasure// Codeforces Round #282(Div. 1)

    题意:一个'('  ,  ')'  ,  '#'组成的串,可将'#'换成至少一个')'.问一个换法能使串匹配. 至少换成一个,那么就先都换成一个,记结果为str.最后一个')'的后面没有未匹配的'(' ...

  6. JSP页面出现乱码

    Jsp文件中会出现下面所示的编码指定方式: <%@ page language="java" contentType="text/html; charset=UTF ...

  7. qxx 项目总结

    一.账号池功能 1. 右边注释添加格式 private $client; // Jyeoo的接口 2. 将一些配置放到某个配置文件中,然后通过加载配置环境,来获取相关的变量 app()->con ...

  8. 使用Bulk Binding批量绑定的模式高效处理ORACLE大量数据

           用批量绑定(bulk binding)的方式.当循环执行一个绑定变量的sql语句时候,在PL/SQL 和SQL引擎(engines)中,会发生大量的上下文切换(context switc ...

  9. Eclipse Indigo 3.7.0 安装GIT插件

    Eclipse上安装GIT插件EGit 首先打开Eclipse,然后点击Help>Install New Software>Add. Name:EGit Location: http:// ...

  10. LSTM CNN GRU DGA比较

    测试环境:linux,8cpu核,8G内存 优化后的模型比较 模型                         速度/eps          准确率 NN                    ...