Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 停止Cassandra物化视图构建_Database_Cassandra - Fatal编程技术网

Database 停止Cassandra物化视图构建

Database 停止Cassandra物化视图构建,database,cassandra,Database,Cassandra,在Cassandra(3.7)中,是否有任何方法可以停止构建物化视图 背景:我创建了两个物化视图A和B(完全公开-我可能试图在构建完成之前删除它们),这些视图似乎一直被卡住……在同一张表上创建另一个视图C的任何尝试似乎都会失败。使用nodetool nodetool.viewbuildstatus <keyspace>.<view> 列出了所有视图,但在过去24小时内,生成号和最后一个\u标记没有更改(对于A,生成号实际上为空) 它没有文档记录,但是nodetool s

在Cassandra(3.7)中,是否有任何方法可以停止构建物化视图

背景:我创建了两个物化视图AB(完全公开-我可能试图在构建完成之前删除它们),这些视图似乎一直被卡住……在同一张表上创建另一个视图C的任何尝试似乎都会失败。使用nodetool

nodetool.viewbuildstatus <keyspace>.<view>

列出了所有视图,但在过去24小时内,生成号和最后一个\u标记没有更改(对于A,生成号实际上为空)

它没有文档记录,但是
nodetool stop
实际上采用任何压缩类型,而不仅仅是列出的压缩类型(视图构建就是其中之一)。因此,您可以简单地:

nodetool stop VIEW_BUILD
或者,您可以使用
org.apache.cassandra.db:type=CompactionManager
mbean的
stopCompression
操作直接点击JMX


真正要做的就是为视图生成器设置一个标志,使其在下一个循环中停止。如果它抛出了一个未捕获的异常或其他东西,因此它不再做任何事情(值得检查系统/输出日志),stop也不会做任何事情。在这种情况下,它并没有真正伤害到任何东西,所以可以忽略它并重试。最坏的情况是重新启动节点。

Ahh,这就是我要找的命令。谢谢构建视图时似乎抛出了一个异常
对于16.000MiB的最大大小来说,xxx太大了
——它休眠了五分钟,只会再次出错(抛出该异常的原因并不完全清楚)。将标记为已解决,尽管我的情况可能是唯一的,因为命令实际上并没有停止构建-它在这个错误循环中继续运行(只是删除了停止它的视图)。基表中是否有宽分区或大数据?可以尝试在
cassandra.yaml
()中增加提交日志段和批处理日志限制。可能需要仔细检查视图定义中的select语句。似乎视图中的select语句导致了问题-如何,我仍然不知道,但在进行了一些修改(例如删除了不必要的列,而不是使用
select*
)后,视图生成时没有问题。再次感谢你的帮助!
nodetool stop VIEW_BUILD