zoukankan      html  css  js  c++  java
  • hadoop学习笔记肆--元数据管理机制

    1、首先,认识几个名词

        (1)、NameNode中读、写、以及DataNode映射等信息叫做“元数据” ,NameNode元数据存放位置有、内存、fsimage、edits log三个位置。

        (2)、edits log:记录当前最新的元数据。

           (3)、元数据内存:实际在用的元数据。

        (4)、fsimage:元数据内存实体文件,fsimage与NameNode内容是是一样的(最全元数据)

              当edits log文件大小达到阈值,会将edits log元数据写入到fsimage文件,并清除edits log中的元数据。

    2、NameNode管理元数据方式

        (1)、客户端上传文件时NameNode首先会向edits log文件中记录元数据信息。

        (2)、客户端上传文件,完成后返回成功信息到NameNode,NameNode将本次上传操作产生新的元数据信息写入到内存中。 

        (3)、每当editslog文件写满时,SecondeNameNode会将editslog中的元数据同步合并到fsimage中,且清空editslog

        (4)、同步数据(checkpiont)触发方式:fs.checkpoint.period  指定两次checkpoit的最大时间间隔,默认为3600秒

                           :fs.checkpoint.size    规定ediits文件最大值,一旦超过这个值则强制checkpoint,不管是否到最大时间间隔,默认为64M

    3、SecondeNameNode对editslog、fsimage文件同步合并方式

        (1)、当editslog文件写满时,NameNode向SecondeNameNode发出请求,通知SecondeNameNode进行文件editslog与fsimage合并。

        (2)、SecondeNameNode做出响应,并通知NameNode创建新文件edits.new,且向edits.new文件写入元数据

        (3)、SecondeNameNode下载editslog、fsimage文件到SecondeNameNode主机

        (4)、SecondeNameNode将下载editslog、fsimage文件做同步合并合并文件为:fsimage.chkpoint

        (5)、将合并文件fsimage.chepoint上传到NameNode中fsimage同目录

        (6)、重命名fsimage.chepoint文件为fsimage

        (7)、重命名edits.new为edits

     4、nameNode 元数据存储格式

        nameNode(FileName、replicas、block-ids、id2host。。。)

        名词解释:FileName:文件名称

             replicas:副本个数

               block-ids:blockid

             后面是文件在dataNode位置

        列:/home/test.log,3,{blk_1,blk_2},[{blk_1:[h0,h1,h2]},{blk_2:[h0,h1,h2]}]

                          不得不说,为了保证元数据的完整性,可靠性hadoop开发者没少下功夫

        

  • 相关阅读:
    Linux I/O状态实时监控iostat
    Linux系统常用监控系统状态信息命令
    Linux查看网络信息命令
    Linux服务器进程信息查看命令
    Linux服务器的日志管理
    Linux令普通用户拥有root权限
    linux后台运行之&和nohup区别,模拟后台守护进程
    Linux之shell终端使用操作快捷键
    linux解压缩命令之unzip,tar(持续更新)
    Centos7 安装部署redis及其入门使用
  • 原文地址:https://www.cnblogs.com/xiaoyu1994/p/10165619.html
Copyright © 2011-2022 走看看