在hadoop部署好了之后是不能马上应用的,而是对配置的文件系统进行格式化。这里的文件系统,在物理上还未存在,或者用网络磁盘来描述更加合适;还有格式化,并不是传统意义上的磁盘清理,而是一些清除与准备工作。

namemode是hdfs系统中的管理者,它负责管理文件系统的命名空间,维护文件系统的文件树以及所有的文件和目录的元数据,元数据的格式如下:

同时为了保证操作的可靠性,还引入了操作日志,所以,namenode会持久化这些数据到本地。对于第一次使用HDFS时,需要执行-format命令才能正常使用namenode节点。

在namenode节点上有个重要的路径,就是{dfs.name.dir},这个属性在我们配置conf/hdfs-site.xml时已经设置好了,这个参数指定了文件系统镜像存放的路径,并且可以采用逗号分隔的方式使用多个路径,文件系统就会复制多份到这些路径下,如下格式:

    <property>
<name>dfs.name.dir</name>
<value>/opt/hadoop/datalog1,/opt/hadoop/datalog2</value>
</property>

分放的路径包含一个或者多个远程共享目录,例如基于NFS的共享目录。这样当一个namenode不能工作时,可以启用备用的namenode节点,并将备用节点的路径同样指向此远程共享目录,从而保障数据的完整性。同样的配置也可以应用于{dfs.name.edits.dir}以实现日志数据备份。

下面我们再看每一个{dfs.name.dir}下存放的文件,执行-format后会在文件夹下生成{dfs.name.dir}/current/fsimage,{dfs.name.dir}/current/edits, {dfs.name.dir}/current/fstime,{dfs.name.dir}/current/VERSION,{dfs.name.dir}/image/fsimage。下面说一下这些文件的具体作用:

fsimage:存储命名空间(实际上就是目录和文件)的元数据信息;

edits:用来存储对命名空间操作的日志信息,实现namenode节点的恢复;

fstime:用来存储check point 的时间;

VERSION:存放namenode的版本信息;

/image/fsimage: 上一次提交前的/current/fsimage文件。

我在15点30分左右执行了-format命令,版本信息如下:

#Mon Nov 25 15:30:51 CST 2013
namespaceID=342829229
cTime=0
storageType=NAME_NODE
layoutVersion=-41

"hadoop namenode -format"命令的作用和影响的文件的更多相关文章

  1. hdfs格式化hadoop namenode -format错误

    在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示: [shirdrn@localhost bin]$ hadoop namenod ...

  2. 对hadoop namenode -format执行过程的探究

      引言 本文出于一个疑问:hadoop namenode -format到底在我的linux系统里面做了些什么? 步骤 第1个文件bin/hadoop Hadoop脚本位于hadoop根目录下的bi ...

  3. hadoop namenode -format Couldn&#39;tload main class &quot;-Djava.library.path=.home.hadoop.hadoop-2.5.2.lib&quot;

    <pre name="code" class="sql">[hadoop@MasterHadoop50 ~]$ hadoop namenode -f ...

  4. Hadoop常见重要命令行操作及命令作用

    关于Hadoop [root@master ~]# hadoop --help Usage: hadoop [--config confdir] COMMANDwhere COMMAND is one ...

  5. Hadoop 新建集群namenode format

    在hadoop部署好了之后是不能马上应用的,还要对配置的文件系统进行格式化. 使用命令: hadoop namenode -format 注释:namenode和secondary namenode均 ...

  6. 介绍hadoop中的hadoop和hdfs命令

    有些hive安装文档提到了hdfs dfs -mkdir ,也就是说hdfs也是可以用的,但在2.8.0中已经不那么处理了,之所以还可以使用,是为了向下兼容. 本文简要介绍一下有关的命令,以便对had ...

  7. Hadoop namenode无法启动

    最近遇到了一个问题,执行start-all.sh的时候发现JPS一下namenode没有启动        每次开机都得重新格式化一下namenode才可以        其实问题就出在tmp文件,默 ...

  8. Hadoop 2.0命令手册

    1.       FS Shell 1.1     简介 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 所有的的FS shell命令使用URI ...

  9. hadoop NameNode 手动HA

    官网配置地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWit ...

随机推荐

  1. VirtualBox虚拟机安装MSDOS和MINIX2.0.0双系统

    1. 在VirtualBox中新建一个MSDOS虚拟机. 2.下载一个MSDOS软盘镜像. 3.启动虚拟机,提示选择安装盘时,选择步骤2下载过来的MSDOS镜像. 4.正常启动进入DOS命令行,用FD ...

  2. 微软职位内部推荐-Senior Software Development Engineer

    微软近期Open的职位: Job posting title: Senior Software Development Engineer Location: China, Beijing Divisi ...

  3. JavaScript Tutorial

    JavaScript Tutorial http://javascript.info/root Object.create rabit.hasOwnProperty('eats') Object.ge ...

  4. 64bit Ubuntu, Android AAPT, R.java

    Ubuntu 13.10 aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object f ...

  5. JPA学习---第一节:JPA详解

    一.详解 JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据.他的出现主要是 ...

  6. rJava配置

    1. 下载安装R-3.1.1-win.exe: 2. 在R中安装rJava > install.packages("rJava") 3. 设置环境变量: PATH:D:\So ...

  7. 关于 iOS10 更新后 360 云盘 的上传按钮消失的解决方案

    最近出了iOS10,作为iOS开发者,果断更新. 但是更新完后,打开自己的360云盘,发现想向云盘上传东西,但是传不了,加号按钮不见了. 经过我的研究,原因是 下面的自定义tabbar放置加号按钮的方 ...

  8. 怎么让CentOS集群自动同步时间

    怎么让CentOS集群自动同步时间?首先机器要连外网,这样才能从互联网上同步时间,这是首先要了解的.好了,主要的方法如下: 在除了运行ntpd之外的机器上,执行: [html] # chkconfig ...

  9. 【HDOJ】【3709】Balanced Bumber

    数位DP 题解:http://www.cnblogs.com/algorithms/archive/2012/09/02/2667637.html dfs的地方没太看懂……(也就那里是重点吧喂!)挖个 ...

  10. 关于struts2如何去掉默认的后缀(.action)

    struts2是可以配置默认的后缀名的,如http://localhost:8080/test.action,这个是默认的,但是也可以通过配置去修改这个.action为别的. 这里是通过一个常量配置改 ...