在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. 通过Linux命令过滤出binlog中完整的SQL语句

    DB:5.6.16CentOS:CentOS release 6.3 (Final) 当insert语句通过空格跨行输入的时候,如何提取完整的insert语句! 创建一个空表:mysql> cr ...

  2. 使用WinSetupFromUSB来U盘安装WINDOWS2003

    今天用UltraISO制作WINDOWS2003的U盘的安装启动,在安装系统的时候发现错误提示“INF file txtsetup.sif is corrupt or missing .status ...

  3. DataGridView 的cell赋值没有线程间访问的限制吗?

    1.如下代码,对DataGridView 的cell赋值不会出现线程访问问题,为什么呢? public Form1() { InitializeComponent(); } private void ...

  4. oracle 删除用户,表空间;循环删除表

    select * from dba_tablespaces 说明:查看所有表空间 ----------------------------------------------------------- ...

  5. IEnumerator/IEnumerable接口

    IEnumberator函数成员 Current返回序列中当前位置项的 属性 只读属性 返回object类型 MoveNext把枚举器位置前进到集合中下一项的方法 新位置有效返回true,否则fals ...

  6. bzoj 3907: 网格 组合数学

    3907: 网格 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 13  Solved: 7[Submit][Status][Discuss] Descr ...

  7. 微软发布WP SDK8.0 新增语音、应用内支付等原生API

    http://www.csdn.net/article/2012-10-31/2811338-windows-phone-8-sdk 京时间10月30日,微软在旧金山举行新一代手机操作系统Window ...

  8. Binary Search Tree In-Order Traversal Iterative Solution

    Given a binary search tree, print the elements in-order iteratively without using recursion. Note:Be ...

  9. 深入浅出ES6(七):箭头函数 Arrow Functions

    作者 Jason Orendorff  github主页  https://github.com/jorendorff 箭头符号在JavaScript诞生时就已经存在,当初第一个JavaScript教 ...

  10. IOS NSPredicate 查询、搜索

    简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 最常用到的函数 + (NSPredicate *)predicateWith ...