• 【案例】 单个实例的元数据备份恢复


    #测试思路:
    1.备份原分布式库
    2.备份原来分布式库zk中的原数据
    3.从hdfs 中导出备份文件    -- 这里在同一个集群中就没有导出
    
    4.把备份文件导入到新集群的hdfs 中
    5.在新集群中还原元数据
    6.在hdfs中可能要重命名备份文件
    7.在导入的实例中 进行回档操作
    
    #问题:
    恢复的时候,理论上是新创建实例,然后直接回档。
    但是,在回档前居然还有一个 flush logs 操作。 
    
    在恢复前会连到原数据库 ,会去flush log ;
    而我   导入的元数据, 根本没有真实的实例。 导至失败。 
    
    #解  : 在恢复时 会去 flush log 的原因
    如果binlog写入量很少,可能有未关闭的当前binlog包含了要回档的时间段 (比如当前时间),需要关闭,完成上传;以便回档找到binlog位点 。
    目前:这个写死在程序里固定的步骤 , 没有根据时间点来判断  要不要flush logs  
    


    ##复制注意格式  可以vi 中  :set paste   过控制
    
    
    修改备份配置文件:backupConf.xml
    
        <backup backupfile_save_dir="/data/zkbak/zkbackup" >
        <zookeeper quiet="1" iplist="10.85.10.51:2181" timeout="10000"/>
           <backup_node>
            <path name="/tdsqlzk/group_1609918012_34"/>
    	    <path name="/tdsqlzk/manager/manager_proxy/proxy_sets/pro_set@group_1609918012_34"/>
    	    <path name="/tdsqlzk/manager/manager_resources/mngr_res@10.85.10.51"/>
          </backup_node>
        </backup>
    
    #要备份的ZK 地址
    #/tdsqlzk                                                  集群ZK的根目录 
    #/tdsqlzk/group_1609918012_34                              要备份的实例
    #/tdsqlzk/manager/manager_resources/mngr_res@10.85.10.51   实例的主资源(主节点)

    修改备份配置文件:backupConf.xml
    
        <recover>
          <zookeeper quit="1" iplist="10.85.10.51:2181" timeout="10000"/>
          <recoverlist>
            <path src="/tdsqlzk/group_1609918012_34"  dst="/tdsqlzk/group_1609918012_34"/>
    	    <path src="/tdsqlzk/manager/manager_proxy/spro_set@group_1609918012_34" dst="/tdsqlzk/manager/manager_proxy/pro_set@group_1609918012_34"/>
    	    <path src="/tdsqlzk/manager/manager_resources/mngr_res@10.85.10.51" dst="/tdsqlzk/manager/manager_resources/mngr_res@10.85.10.51"/>
          </recoverlist>
        </recover>
    
    #10.85.10.51:2181  要恢复到的ZK地址 
    #src 原目录   
    #dst 目标目录
    


    方式二:
    新建一个实例,copy 备份文件到相应目录 (详情见: 实例已删除 如何恢复
    #注意
    1.集份信息是记录在ZK中的  路径类似下面的
    /tdsqlzk/group_1609918012_34/resources/rsip@10.85.10.52/rsport@4002/backupjobs@10.85.10.52_4002/backupjobans@0000000004
    
    2.恢复 不会是匹配文件名,是去扫描 是否有可用的备份文件
      所以 不需要去zk中改备份文件名字  
        原构想以为 是要与备份文件名相匹配 , 所以准备去zk 中改文件名, 或准备先去创建备份文件,然后在改成相同的名字 。 --实际上是不需要匹配文件名的。
     




  • 相关阅读:
    Java入门
    Java入门
    Java入门
    Java入门
    Java入门
    Java入门
    Java入门
    random库的使用
    程序的控制结构
    数据类型
  • 原文地址:https://www.cnblogs.com/cqdba/p/15903159.html
Copyright © 2020-2023  润新知