cassandra 集群问题记录

hugegraph建库超时导致cassandra集群服务宕机

背景记录

数据库集群(cassandra)因为长时间未维护,导致部分节点服务停止,重启问题节点服务后,两个节点开始二级索引重建工作。
因业务急需,创建新的图库(nsf1~3,顺序创建),创建过程中,hugegraph多次创建失败,(默认创建33张表,但后台5节点创建的表数量不一致,无任何节点创建成功),无奈下只能去数据库后台删除nsf1,登陆集群2个seed节点进行删库工作,提示删除成功。等待集群自行同步。

问题描述

第二天发现数据库中有两个节点服务挂掉,尝试重启后失败,无法正常启动。查看报错日志推测seed节点删库操作并未同步到问题节点,导致服务挂掉。
查看官网,问题原因是磁盘上存储的模式属性与 Cassandra 认为的集群的当前属性之间存在不一致。

解决方案

  1. 分别登陆两台问题节点,修改jvm.optimon 使服务能够启动(目的是无需从备份恢复即可启动节点的方法)
    添加 -Dcassandra.ignore_corrupted_schema_tables=true到/cassandra/conf/jvm.options

  2. 重启cassandra
    systemctl restart dse

  3. 确定服务启动后,进入数据库后台,删除导致报错的库表
    /cassandra/bin/cqlsh ip port

desc keypaces;
drop keypaces nsfocus1(若报错,则尝试执行多次,直至删除为止,若多次仍未删除,也可以再次重启服务)

  1. 若删除成功,则将第1步中添加的内容删除,重新启动服务,若还是未删除,则继续第3步操作直至删除成功。
  2. 最后查看集群各节点日志,通过nodetool status验证集群服务,网络等。

杂记:
当前集群节点通过nodesync同步,但是同步有延迟,可临时修改同步速率,避免重启。

查看同步速率:nodetool nodesyncservice getrate
设置同步速率:nodetool nodesyncservice setrate value_in_kb_sec
 设置同步速率:18M
     nodetool nodesyncservice setrate 18432
 手动启用nodesync
nodesync validation submit keyspace_name.table_name
例:
nodesync validation submit dse_insights.tokens

本集群因数据较大(>10T),综合考虑多方面实际情况(读写较为频繁),因此采用了repair模式进行集群同步。未采用nodesync

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值