1
有什么方法可以杀死ClickHouse中的空闲查询?我有一个永远不会完成的OPTIMIZE查询(因为它针对ReplicatedMergeTree表运行)阻塞了我需要删除的表。如何杀死ClickHouse中的进程(查询)
有什么方法可以杀死ClickHouse中的空闲查询?我有一个永远不会完成的OPTIMIZE查询(因为它针对ReplicatedMergeTree表运行)阻塞了我需要删除的表。如何杀死ClickHouse中的进程(查询)
是的,有一个replace_running_query选项。
总之,你可以在query_id
参数添加到您的HTTP请求,这样的:
http://localhost:8123/?query=SELECT * FROM system.numbers LIMIT 100000000& replace_running_query=1&query_id=example
又做了第二HTTP请求,以相同的query_id
:
http://localhost:8123/?query=SELECT 1&replace_running_query=1&query_id=example
服务器将取消第一个查询并运行第二个查询。
您可以在配置文件中覆盖该选项(默认情况下禁用该选项)以摆脱将其置于请求参数中的选项。
我不使用HTTP接口,但clickhouse客户端,我不认为可以通过客户端使用'replace_running_query'。顺便说一句,我不是系统管理员,所以我不能修改配置或打开8123端口。我让系统管理员重新启动受影响的节点,并解决了问题(但并不理想)。 – DamnWidget
@DamnWidget顺便说一下,我在Ctrl + C上使用了同样的方法(使用replace_running_query)来杀死查询[clickhouse-cli](https://github.com/hatarist/clickhouse-cli)。嘿,感谢Anaconda,我用了很多! –
要试一试谢谢!我也使用anaconda很多,这是我写的主要原因:) – DamnWidget