Cassandra辅助索引创建导致问题
环境:cassandra (dse版6.7.5) hugegraph图数据库
- 问题一
由于疫情原因,cassandra 5节点集群长期未维护导致2个节点宕机,导致数据不一致。
检查日志未有提示明显报错信息,重启服务后,日志提示关于数据一致性问题,等待集群数据同步结束。 - 问题二
集群数据同步后,集群启动正常,然后在hugegraph数据库中创建多图,创建成功后,初始化hugegraph数据库,重新启动hugegraph数据库,然后,rest-server启动报错
从日志查看是连接cassandra导致cassandra没有响应导致的。
然后查看cassandra5个节点的日志,发现某一个节点cassandra日志报错
从图中查看到cassandra中索引不能用,然后着手准备修复索引,
索引修复执行命令:
./nodetool rebuild_index hugegraph g_v g_v_label_index
提示报错,大体意思是,有其他的任务在占用执行g_v这个表的相关操作,
查看节点运行的队列,发现的确是有关于g_v的任务在运行
监控平台(open center)也显示有该任务执行
3.解决办法:
./nodetool stop -id
7fbee6b0-e5da-11ea-a3c0-dd18c8142881 手动停止任务
然后禁止数据表压缩任务
./nodetool disableautocompaction(注意,节点重启后,禁止指令失效)
./nodetool statusautocompaction (查看压缩状态)
然后执行./nodetool compactionstats -H 查看是否还有g_v表任务,(内网环境,不好截图)没有任务后。
然后运行索引修复任务
./nodetool rebuild_index hugegraph g_v g_v_label_index(由于该索引文件比较大,建议转入后台修复,可以使用screen)
- 等待修复重建索引任务结束后,hugegraph rest-service启动成功。