代码改变世界

Vertica 6.1不完全恢复启动到LGE方法

2015-08-19 18:04  AlfredZhao  阅读(...)  评论(... 编辑 收藏

环境:RHEL6.2 + Vertica 6.1.3-7

  1. 确定所有节点的vertica进程都停掉(包括agent和python),如果有运行的,停止它或者杀掉它。
  2. 确定所有节点的spread进程都正常在运行。
  3. 用admintools工具启动数据库到LGE

1. 确定所有节点的vertica进程都停掉(包括agent和python),如果有运行的,停止它或者杀掉它。

数据库为关闭状态,也就是停库后,如果还有进程,可以

ps -ef|grep vertica |grep -v spread|awk '{print $2}'|xargs kill -9

这样可以强制杀掉除了spread的vertica进程。

2. 确定所有节点的spread进程都正常在运行。


确定下所有节点的spread服务都是启动的,

/etc/init.d/spreadd status

如果有未启动的就启动一下[使用root用户],

/etc/init.d/spreadd start

3. 用admintools工具启动数据库到LGE

admintools -> 7.Advanced Menu -> 1.RollBack Database to Last Good Epoch -> 选择数据库,输入数据库密码 -> Restart epoch(注意这个Epoch如果和日志分析的有区别,不要进行操作,找原厂支持)

另外发现在Vertica的7.x版本中,spread进程停库就没了,而6.x的spread是和数据库分开的。所以7.x版本的管理更加简单,一般情况,不需再考虑spread进程的状态(7.x版本的spread进程随库启动,也不需要root用户)。

本次应用场景:数据库正常启动不成功,一开始各个节点状态是INITIALIZING,之后各个节点陆续均成为LOSTCONTACT状态,分析日志adminTools-dbadmin.log以及各节点的vertica.log。
最终分析的LGE与数据库启动到LGE自动识别出的LGE相同,按照原厂工程师的指导操作,最终启动成功。