namenode 格式化 -format

     文章转自http://blog.csdn.net/xhh198781/article/details/6904615

      在Hadoop的HDFS部署好了之后并不能马上使用,而是先要对配置的文件系统进行格式化。在这里要注意两个概念一个是文件系统,此时的文件系统在物理上还不存在,或许是网络磁盘来描述会更加合适;二就是格式化,此处的格式化并不是指传统意义上的本地磁盘格式化,而是一些清除与准备工作。本文接下来将主要讨论NameNode节点上的格式化

       我们都知道,NameNode主要被用来管理整个分布式文件系统的命名空间(实际上就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,所以,NameNode会持久化这些数据(保存到本地的文件系统中)。对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。那么,NameNode的fromat命令到底做了什么事情呢?

      在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dirdfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name。格式化时,NameNode会清空两个目录下的所有文件,之后,会在目录dfs.name.dir下创建文件:

  1. {dfs.name.dir}/current/fsimage  
  2. {dfs.name.dir}/current/fstime  
  3. {dfs.name.dir}/current/VERSION  
  4. {dfs.name.dir}/image/fsimage  

会在目录dfs.name.edits.dir下创建文件:

  1. {dfs.name.edits.dir}/current/edits  
  2. {dfs.name.edits.dir}/current/fstime  
  3. {dfs.name.edits.dir}/current/VERSION  
  4. {dfs.name.edits.dir}/image/fsimage  

那么这些文件又是用来干什么的呢?

      在介绍这文件的用途之前,我们可以将dfs.name.dir和dfs.name.edits.dir配置成相同的目录,这样的话,NameNode执行格式化之后,会产生如下的文件:{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,由此可以看出上面名字相同的文件实际是一样的,所以在这里,我建议把dfs.name.dir和dfs.name.edits.dir配置成相同的值,以来提高NameNode的效率。ok,现在就来重点的介绍一下这些文件的用途吧。

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

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

     fstime:用来存储元数据上一次check point 的时间;

     VERSION:用来存储NameNode版本信息,命名空间ID(版本号),内容如下:

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


     ok,关于NameNode执行format命令的情况就介绍到这儿。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "hdfs namenode -format" 命令用于格式化 HDFS 集群的 Namenode。这意味着它将删除所有现有的文件系统数据并创建一个全新的文件系统。在格式化 Namenode 之前,请务必做好数据备份,因为格式化操作不可逆。 ### 回答2: hdfs namenode -format是Hadoop分布式文件系统中一条格式化命令,它的主要作用是清空Hadoop文件系统中的元数据信息,包括命名空间、数据块位置和数据存储状态等内容。在执行该命令之前,需要先停止HDFS服务并确保所有节点都已关闭,否则会导致数据丢失和元数据损坏。 执行hdfs namenode -format命令后,会生成一个新的namespace ID,并重置文件系统的版本号和检查点信息,这样可以重新初始化整个HDFS系统。此时,用户需要重新启动HDFS服务,并重新上传数据,创建目录和文件,以便进行新一轮的数据处理和计算。 需要注意的是,hdfs namenode -format命令具有破坏性,即可以清空所有数据和元数据信息,包括有用的数据和无用的数据,因此需要谨慎使用。在实际应用中,一般只有在重新部署或重构Hadoop集群时才会使用该命令,以确保HDFS的干净和一致性。 除此之外,还可以通过Hadoop的命令行界面和图形化界面来管理和维护HDFS集群,包括上传、下载、删除、复制和移动数据等常用操作,以及调整文件系统的配置参数,以达到更高效和稳定的数据处理和存储。 ### 回答3: hdfs namenode -format 是一个命令,用于格式化Hadoop分布式文件系统(HDFS)的NameNode节点。该命令可以在重装Hadoop集群,或更改旧集群中的节点配置时使用。 HDFS的NameNode节点是Hadoop集群的关键组件之一,它维护着整个HDFS的文件系统命名空间和数据块信息。当一个新的Hadoop集群或者新的节点加入到一个集群时,需要使用hdfs namenode -format命令来初始化NameNode节点,以确保该节点集成到集群中,并正确保存分布式文件系统上的数据。在Hadoop早期版本中,这个命令是一个必要的步骤,在其后续版本中,节点启动时也会自动检查NameNode的状态。 在使用hdfs namenode -format命令时,需要注意以下几个问题: 1.格式化操作将删除HDFS上的所有数据。因此,在运行该命令之前,需要提前备份所有数据,以免导致数据丢失。 2.当使用管道或其他shell操作符时,在运行hdfs namenode -format时需要使用单引号。 3.运行格式化命令时,需要确保所有节点都已经启动,并且所有节点都可以相互通信。 4. 在Hadoop高可用性环境下,如果集群已经启用了HA,那么不需要使用hdfs namenode -format命令,否则会导致HA失败。 总的来说,hdfs namenode -format命令是一个非常关键的Hadoop集群维护操作,需要谨慎使用,以免误操作导致数据丢失或者其他故障。在执行该命令前,务必备份数据,确认配置和网络环境正确,保证平稳操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值