问题原因:
当多维库服务存在非正常关闭时(例如强制杀死多维库进程或未关闭多维库服务直接将物理主机进行重启等),多维库为保证数据的安全性,启动时会报错提示Redo文件的LSN与控制文件的endLSN不一致,需要人工判断数据是否存在损坏或者丢失的情况。如果确认没有问题后,需人工进行LSN 修改恢复,才能正常启动。
(以下操作仅仅针对单节点的多维库应用修复,如果是主从模式,需要考虑的情况比较复杂,不能单纯的通过修改LSN 进行恢复。)
排查步骤:
1. 查看多维库部署目录/root/olapserver下bin/server.log文件,发现报错日志信息如下:
2. 记录下Redo文件最后的LSN值,图中示例为 14434304
3. 查看多维库部署目录下的database文件夹
a) 旧版本的控制文件名称为 lsn.control
b) 新版本的控制文件名称为 olap.control
4. 在多维库部署目录下,进行命令修复操作:
cd到对应的服务目录
cd /root/olapserver |
a) 旧版本修复命令:
sh bin/tools/updateLSNControl ./database/lsn.control 14434304 14434304 |
b) 新版本修复命令
sh bin/tools/updateOlapControl ./database/olap.control 14434304 14434304 14434304 |
(windows下安装使用bin/olapTools.bat按提示进行修复,如下图)
5. 修复命令提示成功后,再次执行启动命令。
6. 登录多维数据库服务器web界面,http://localhost:8080/bos-olap-webserver/#/
查询任意cube数据,正常显示出查询结果
推荐阅读