一、为什么namenode持久化

  namenode通过内存存储hdfs集群的元数据(目录结构 文件信息 块对应关系),如果内存出现问题,那么会数据丢失,需要通过持久化,把内存中的数据定期的存储在硬盘中,进而保证namenode的数据安全。

二、持久化的原理

1、FSImage   (某一时刻  namenode镜像数据)

    默认存储位置

    /opt/install/hadoop-2.5.2/data/tmp/dfs/name

  2、EditsLog  (某一时刻后的,写日志操作)

    FSImage   会在集群格式化时,生成空的FSImage   ,后续用户的操作都会写入到EditsLog中

    每一次重启namenode时,把EditsLog和FSImage的数据在内存中合并,并生成一哥新的EditsLog,

    时间没到制定时间点或没有到事务数 FSImage时不会和EditsLog合并

    时间到制定时间点或到事务数 FSImage时会和EditsLog合并,生成新的FSImage(有数据)和新的EditsLog

   

  相关配置可以打开http://hadoop.apache.org/docs/r2.5.2/

    

    

        配置这些文件要在

          cd /opt/install/hadoop-2.5.2/etc/hadoop

        找到hdfs-site.xml文件添加

        

<property>
<name>dfs.namenode.name.dir </name>
<value>/opt/suns/fsimage</value>
</property>
<property>
<name>dfs.namenode.edits.dir </name>
<value>/opt/suns/editslog</value>
</property>

安全模式 safemode

namenode从新启动时,通过安全模式保证EditsLog和FSImage的合并,在这个过程中,只允许client进行读操作,而不能进行写操作。

最新文章

  1. 一款全兼容的播放器 videojs
  2. JAVA Socket 编程学习笔记(二)
  3. sublime 插件总结
  4. 初学java注解编程 记录错误及解决办法
  5. Dirty Markup - 在线代码美化工具
  6. 1. EasyUI 学习总结(一)——对话框dialog
  7. django1.9.6 使用 DjangoUeditor (python3.5)
  8. 利用RunTime解决由NSTimer导致的内存泄漏
  9. bzoj 1228: [SDOI2009]E&amp;D 阿达马矩阵
  10. JavaScript设计模式之构造函数模式
  11. javascript 作用域链
  12. 原型扩展的方法解决IE和Firefox的Js兼容问题
  13. SQL Mirroring[Hot back up with Double machine]
  14. js url校验
  15. 基于webpack2.x的vue2.x的多页面站点
  16. python的学习之路day1
  17. jsp和servlet的区别和联系
  18. PLC
  19. 几个实用的CSS代码段总结
  20. fgrep: ifcfg-ifcfg-eth0: No such file or directory

热门文章

  1. LeetCode97 Interleaving String
  2. Light OJ 1272 Maximum Subset Sum 高斯消元 最大XOR值
  3. iOS之友盟错误统计解决
  4. Gym - 101480A_ASCII Addition
  5. 计算php程序运行时间
  6. javax.websocket.Session的一个close异常记录
  7. 学linux内核与学linux操作系统有什么区别!?
  8. 获取select文本框的下拉菜单文字内容的两种方式
  9. ipykernel_launcher.py: error: unrecognized arguments: -f /Users/apple/Library/Jupyter/runtime/kernel
  10. 带你进入 Activiti 工作流的世界