zoukankan      html  css  js  c++  java
  • Hadoop的管理目录

    HDFS文件结构

    1、NameNode的文件结构,NameNode会创建VERSION、edits、fsimage、fstime文件目录。其中dfs.name.dir属性是一个目录列表,是每个目录的镜像文件。VERSION文件是JAVA属性文件,其中包含运行HDFS的版本信息。包含内容:

      其中,namespaceID是文件系统的唯一标识符,当文件系统第一次格式化时,便会被创建,这个标识符是必须跟各DataNode及诶单和NameNode保持一致。NameNode会使用它识别新的DataNode,DataNode只有在向NameNode注册后才会获得此namespaceID。cTime属性标记了NameNode存储空间创建的时间。对于新格式化的,这里时间为0,只要文件系统被更新,就会更新到一个新的时间戳上。StorageType指出此存储目录包含一个NameNode的数据结构,在DataNode中它的属性值为DATA_NODE.  LayoutVersion是一个负的整数,定义了HDFS持久数据结构的版本。各节点的版本号要一致。

    在NameNode的存储目录中还包含edits、fsimage、fstime三个文件,它们都是二进制的文件,可以通过HadoopWritable对象进行序列化。

    2、编辑日志(edit log)及文件系统映像(filesystem image)

      (1)当客户执行写操作时,首先NameNode会在编辑日志中写下记录,并在内存中保存一个文件系统元数据,这个描述符在编辑日志有了改动后更新,内存中的元数据用来提供读数据请求服务。

      (2)编辑日志会在每次成功操作之后,且成功代码尚未返回给客户端之前进行刷新和同步。对于要写入多个目录的操作,写入流要刷新和同步到所有的副本上,保证操作不会因为故障而丢失数据。

      (3)fsimage文件是文件系统元数据的持久性检查点,和编辑日志不同,它不会在每个文件系统写操作后进行更新,因为如果NameNode失败,那么元数据的最新状态可以通过从磁盘中读取fsimage文件加载到内存中来进行重建恢复,然后进行编辑日志中的操作(NameNode启动时也做的事情)。一个fsimage文件中包含以序列化格式存储的文件系统目录和文件inodes.每个inodes表征一个文件或目录的元数据信息,以及文件的副本数、修改和访问时间等信息。

      Hadoop在NameNode之外的节点上运行了一个Secondary NameNode进程,它的任务是为原NameNode内存中的文件系统元数据产生检查点。是一个辅助NameNode处理fsimage和编辑日志的节点,它从NameNode中拷贝fsimage和编辑日志到零食目录合并成一个新的fsimage,随后会将新的fsimage上传到NameNode,这样NameNode便可更新fsimage并删除原来的编辑日志了。

    NameNode在安全模式下,可通过以下命令运行这个过程: hadoop dfsadmin -saveNamespace

      

  • 相关阅读:
    (转)性能测试---并发用户理解
    (转)基于DDD的现代ASP.NET开发框架--ABP分层架构
    (转)Web自动化测试中的接口测试
    (转) 一致性Hash算法在Memcached中的应用
    Memcached工作原理及常见问题
    Memcached介绍及相关知识
    .net 面试题总结
    使用IDEA工具配置和运行vue项目(详细其中的坑)
    关于伪分布zookeeper集群启动出错(Error contacting service. It is probably not running.)
    常用查找和排序
  • 原文地址:https://www.cnblogs.com/yangsy0915/p/5495858.html
Copyright © 2011-2022 走看看