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