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

时间:2022-06-10 05:41:58

环境: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相同,按照原厂工程师的指导操作,最终启动成功。