数据备份与恢复

1. 前言

该数据备份和恢复方案面向直接使用内置HBase和MySQL存储服务的用户,使用自定义存储引擎或使用外置独立维护的HBase和MySQL的用户请忽略!

该备份方案可手动执行或配置Crontab定时任务,一般建议每天备份数据1~2次。数据备份过程中会对集群产生一定压力,具体取决于所存储的数据量和集群资源状况。对于集群资源较为充沛的用户可适当增加备份频率,比如每小时备份一次。

该备份方案无法保证数据零丢失,在使用数据恢复时只能恢复至快照时间点之前的数据状态。

我后续会专门写一篇文章谈一谈我对通用型流式数据统计服务如何保证高可用状态以及在集群重启、升级、迁移、故障恢复时保障数据零丢失或极低丢失率的一些个人建议。

2. 数据备份

2.1. 配置备份任务

使用系统部署账号,添加如下定时任务:

0 */12 * * * source ~/.bashrc && /bin/bash -c '${LDP_HOME}/bin/tools/snapshot/snapshot.sh > ${LDP_HOME}/bin/log/snapshot.log.$(date +"\%Y\%m\%d\%H\%M") 2>&1'

以上配置项的执行频率和执行时间点请根据实际需要配置,如果采用固定时间点执行的方式可参考Web模块首页流量低点进行设置。

2.2. 数据导出路径

快照数据存储在${LDP_DATA_DIR}/lighthouse/snapshot目录下,默认为:${LDP_HOME}/data/lighthouse/snapshot目录下。 备份任务自动将快照数据同步到集群前3个节点的相同目录下,每个节点所存储的数据是完全一样的。

为防止磁盘写满,建议自行增加清理任务。

3. 数据恢复

数据恢复是将快照数据同步到一个新的集群中,一般在集群迁移或故障恢复时使用。

务必注意:数据恢复不支持将两个不同集群的数据合并,如果新集群中已经包含部分数据,在执行恢复操作时会被清空!

数据恢复请首先保证新集群处于正常运行状态,操作步骤如下:

  • 使用work账号登录系统,上传快照数据包文件ldp-snapshot-y39bfadd_20240425084500.tar.gz到新集群某个目录下。
  • 执行${LDP_HOME}/bin/tools/snapshot/restore.sh /your_path/ldp-snapshot-y39bfadd_20240425084500.tar.gz
    (考虑到部分用户数据量较大,恢复时间可能较长,所以该任务为后台执行,输出日志为:${LDP_HOME}/bin/log/restore.log)

results matching ""

    No results matching ""