我有一个运行Cassandra框架的DC/OS集群,三个主机和六个工作者,在由于注册表问题导致框架崩溃后,Cassandra节点与数据不同步,为了同步它,我尝试逐个修复Keyspace并检查"./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“的状态?
我检查了节点,没有这样的进程在任何节点的内存中运行。我需要继续修复keyspace,但是这个任务就在它的前面,因为在这个任务结束之前,修复将会等待。
发布于 2020-10-30 13:00:04
当您在表上有辅助索引时,辅助索引构建是Cassandra正常操作的一部分。节点接收到的任何新突变都将被编入索引。
它作为压缩线程在与Cassandra进程相同的JVM中运行,因此您不会看到一个单独的进程在机器的进程表上运行。
没有任何操作可以“强迫”他们完成。它们将在所需的数据索引完成时完成。
维修也是Cassandra正常运行的一部分。当在修复期间将新数据流式传输到节点时,接收节点也将对该数据进行索引。我的意思是,这些操作是齐头并进的,其中一个不会阻止另一个的工作。干杯!
https://stackoverflow.com/questions/64591002
复制相似问题