问题分析报告--DBService备份问题

来源:互联网 发布:乌克兰胖爸 知乎 编辑:程序博客网 时间:2024/06/08 19:37

1、问题描述

1.1 基本信息[Basic Information]

  • 集群规模:37+3台物理机,每台128G内存;CPU:2*16C;SATA磁盘,2T*12
  • hadoop社区版本:**
  • 商业版本:FusionInsight_HD_V100R002C60U10
  • MetaStore:高斯数据库(Postgresql)

1.2 问题描述[Problem Description]

  • hive任务执行失败,报没有空间;

2、问题分析[Problem Analysis]

经过分析发现hive写临时文件到/opt/Huawei/Bigdata/tmp目录,无法写入,原因是DBservice的备份文件过多导致/opt/目录空间占满。

DBService备份文件过多问题:DBService备份文机制,先在主DBServer节点上备份,然后再同步到备DBServer节点上,主DBServer上做了回滚机制,只保留最新的10备份,备DBServer会全部保留,因此备上/opt很容易被占满;备DBServer节点安装目录被占满,导致这个节点上所有的实例都运行异常

如果发生过主备倒换,主备DBServer节点上可能都存在大量的备份文件。确认为版本缺陷,版本已经提单修正。


3、根本原因[Root Cause]

 DBService备份机制不合理,备DBServer上的备份文件未做回滚,仅仅从主DBServer上同步,导致大量堆积

 


由于在HA中配置了delete="no"参数

/opt/huawei/Bigdata/FusionInsight/dbservice/ha/module/hasync/plugin/conf/dbservice_sync.xml

<file name="/opt/huawei/Bigdata/FusionInsight_V100R002C60U10/dbservice/bak"  delete="no"/>


在主上做了回滚,因此在主DBServer节点上的备份只会保留10个,配置这个参数表示在主DBServer上不存在的文件,同步时在备DBServer节点上不删除


4、解决措施[Corrective Action]

4.1 临时解决措施[Workaround]

1. 使用omm用户登陆到主DBServer节点
2. 修改配置文件
/opt/huawei/Bigdata/FusionInsight/dbservice/ha/module/hasync/plugin/conf/dbservice_sync.xml
将配置项
<file name="/opt/huawei/Bigdata/FusionInsight_V100R002C60U10/dbservice/bak"  delete="no"/>
修改为:
<file name="/opt/huawei/Bigdata/FusionInsight_V100R002C60U10/dbservice/bak"/>
去掉delete="no"参数
3. 执行ps -ef |grep ha.bin| grep dbservice 找出ha.bin进程kill掉
例如:

 

执行kill -9 39396
4. 在备DBServer节点上重复执行以上1~3步操作
5. 等待约2~3min,待主备dbservice节点的ha.bin进程重启后,再在主DBServer节点上执行以下命令
source /opt/huawei/Bigdata/FusionInsight/dbservice/.dbservice_profile 
sh /opt/huawei/Bigdata/FusionInsight/dbservice/sbin/dbservice_backup.sh -b
输出以下结果表示备份成功
Start dbservice backup.
Back up database successfully.
Backup file had been saved to V100R002C60U10_DBSERVICE_20161031113706.tar.gz
Backup file had been synchronized to standby DBService.



4.2 最终解决措施[Solution]

  1. 60U10SPC003补丁,预计发布时间:2017年1月30日。
0 0
原创粉丝点击