zoukankan      html  css  js  c++  java
  • Hadoop元数据备份与恢复方案

    Hadoop元数据备份与恢复方案

    标签(空格分隔): Hadoop


    Namenode

    备份策略:

    周期性备份namenode、standby namenode的dfs.namenode.name.dir
    因为主从切换可能导致edits log分散在两台机器上,需要两台机器共同提供完整的edits log
    恢复步骤:

    1,删除journalnode数据文件,启动服务(所有jn均执行)
    2,登陆namenode
    3,下载最新的备份文件
    4,解压,移至dfs.namenode.name.dir
    5,执行hdfs namenode –initializeSharedEdits(hdfs namenode -initializeSharedEdits will initialize the shared edits directory with the edits data from the local NameNode edits directories)
    6,启动zkfc
    7,启动namenode
    8,登陆standby namenode
    9,执行hdfs namenode -bootstrapStandby(The bootstrapStandby command will download the most recent fsimage from the active NameNode into the $dfs.name.dir directory of the standby NameNode.)
    10,启动zkfc
    11,启动namenode

    适用场景:

    namenode、standby namenode全部故障
    如果只是一台namenode故障,可以清空name文件夹,执行hdfs namenode -bootstrapStandby

    Journalnode

    备份策略:


    恢复方法:
    从正常的jn节点拷贝数据,启动,即可。
    无需停止正常节点再拷贝,直接拷贝即可。这样拷贝会有部分缺失数据,故障节点启动后,不会补齐这些缺失数据,但不影响新数据的写入。对于缺失的edits,只要有一台机器上有,namenode就可以启动。

    适用场景:

    单个节点故障

    Zookeeper

    备份策略:

    周期性备份
    < dataDir >/version-2/acceptedEpoch
    < dataDir >/version-2/currentEpoch
    < dataDir >/version-2/snapshot.
    < dataLogDir >/version-2/log.
    其中snapshot、log备份最近的几份就行
    恢复步骤:
    1,登陆一台zookeeper服务器
    2,下载最新的备份文件
    3,解压,将data、datalog移至< dataDir>,并创建data/myid文件(与配置文件一致)
    启动服务
    4,其余节点配置data/myid文件,启动即可

    适用场景:

    部分或全部数据丢失
    如果只是单个节点故障,清空故障节点的data、datalog文件夹,启动后会自动从正常节点复制数据,无需人工恢复

  • 相关阅读:
    使用MySQL存储过程连续插入多条记录
    为什么编程语言以及数据库要从1970年1月1日开始计算时
    关于shtml页面include问题解决方案
    简单实用的FTP操作类
    js实现完美身份证号有效性验证
    .htaccess文件的建立和rewrite_module的启用
    php冒泡排序
    php实现汉诺塔问题(递归)
    简单的mysql数据库备份程序
    选择排序的php实现
  • 原文地址:https://www.cnblogs.com/hit-zb/p/11718588.html
Copyright © 2011-2022 走看看