zoukankan      html  css  js  c++  java
  • Vertica节点故障后的恢复经过

    Vertica集群中一台服务器故障,导致节点DOWN了。

    通过admintools图形节点的Restart vertica on Host功能重启节点服务,一直失败。

    重新Stop整个数据库,然后再Start,还是不行,其它节点都正常,那个故障节点还是DOWN。
    查看日志,提示 Data consistency,数据一致性问题,磁盘文件有损坏?

    经过和原厂技术沟通,通过命令行启动,通过--force参数忽略问题,强行修复。
    ./admintools -t start_db --database=bigdata --force

    这次正常了,故障节点显示 RECOVERING 状态,说明在恢复数据,通过以下命令查看节点状态:
    ./admintools -t list_allnones

    数据恢复的过程可能较长,通过以下SQL可以查看具体进度:
    select * from projection_recoveries where progress>1;

    由于故障期间发生过很多DELETE操作,需要一点点地同步,最终花了3个小时才彻底恢复数据,服务正常。

    理论上来说,Vertica是集群高可用的,k-safe=1,数据双副本,挂掉一个节点,不影响整体使用。

    但是这次发现,细节问题比较多,SELECT语句有时正常,有时非常慢,慢10倍都不止,甚至 delete from t1 where t_date=(select max(t_date) from t1) 这样的语句会无限期死锁,没有响应,正常情况下都是1秒完成。

    该情况已反馈给Vertica原厂。

  • 相关阅读:
    MDL中捕获到损坏的页表页
    跟踪MmSt分页池使用情况
    了解NTFS压缩
    如何跟踪高CPU在用户模式应用程序-现场调试!
    如何与转储文件建立丰富多彩的关系
    Kernel Stack Overflows
    非分页池的消耗
    MBR反汇编
    LPC (Local procedure calls)(二)内核调试扩展
    LPC (Local procedure calls) (一)数据结构
  • 原文地址:https://www.cnblogs.com/lavezhang/p/14188388.html
Copyright © 2011-2022 走看看