【问题标题】:Cassandra nodetool rebuild_index stuck in 100% in nodetool compactionstats, how to refresh it and to force complection?Cassandra nodetool rebuild_index在nodetool compactionstats中卡在100%,如何刷新它并强制完成?
【发布时间】:2021-02-11 21:21:58
【问题描述】:

我有一个运行 Cassandra 框架的 DC/OS 集群,三个 master 和六个 worker,在由于注册表问题导致框架崩溃后,Cassandra 节点没有与数据同步,为了同步它我尝试修复 Keyspaces一一检查“./nodetool compactionstats”状态。

修复后我在“./nodetool compactionstats”中遇到了一个卡住的任务:

[root@server-worker1 bin]# ./nodetool compactionstats
pending tasks: 2
- system.IndexInfo: 1
- my_app_prod.profile_activation_history: 1

id                                   compaction type       keyspace          table                      completed total   unit  progress
0d49d3d0-19d6-11eb-a65c-f71e0bcef8b1 Secondary index build my_app_prod profile_activation_history 3010912   3010912 bytes 100.00% 
Active compaction remaining time :   0h00m00s
[root@server-worker1 bin]#

任务卡在 100%,我该如何强制它完成?或者刷新“./nodetool compactionstats”的状态?

我签入了节点,并且没有这样的进程在任何节点的内存中运行。我需要继续修复键空间,但这个任务就在它前面,因为直到这个任务结束,修复才会等待。

【问题讨论】:

    标签: cassandra mesosphere dcos nodetool


    【解决方案1】:

    当您在表上有二级索引时,二级索引构建是 Cassandra 正常操作的一部分。节点接收到的任何新突变都将被编入索引。

    它在与 Cassandra 进程相同的 JVM 中作为压缩线程运行,因此您不会看到在机器的进程表上运行单独的进程。

    没有“强制”他们完成的操作。它们将在所需的数据索引完成后完成。

    维修也是 Cassandra 正常运行的一部分。在修复期间将新数据流式传输到节点时,接收节点也将索引该数据。我要说的是,这些操作是齐头并进的,一个不会阻止另一个工作。干杯!

    【讨论】:

      猜你喜欢
      • 2014-02-02
      • 1970-01-01
      • 2018-12-11
      • 2018-06-20
      • 1970-01-01
      • 2017-05-19
      • 2015-06-03
      • 2018-11-21
      • 1970-01-01
      相关资源
      最近更新 更多