无法在 clickhouse 设置中添加设置“log_queries=1”

Posted

技术标签:

【中文标题】无法在 clickhouse 设置中添加设置“log_queries=1”【英文标题】:Not able to add settings 'log_queries=1' in clickhouse settings 【发布时间】:2020-08-19 11:32:48 【问题描述】:

我想在我的 clickhouse 数据库中使用表 'system.query_log' 查看 query_logs。

但是当我触发 select 命令时,我收到错误,表不存在。然后我使用以下命令检查了设置:

Select * from system.settings where name = 'log_queries' LIMIT 1; 我收到以下回复:

Name         Value       changed         description        min      max         readonly       type

log_queries    0              0          Log request and    NULL     NULL          0            bool
                                         write to system
                                         tables

clickhouse 文档值列中的值应为“1”。 所以我尝试了更新命令,但失败并出现以下错误: “DB::Exception:存储系统设置不支持突变。”

如何更改此值并使日志记录成为可能,我应该在哪里进行这些更改?

【问题讨论】:

【参考方案1】:

要开启记录到system.query_log 需要在配置文件中设置log_queries:

    /etc/clickhouse-server/users.d 文件夹中打开存在或创建新的自定义配置文件
nano /etc/clickhouse-server/users.d/users.xml
    设置所需参数
<?xml version="1.0"?>
<yandex>
    <profiles>
        <default>
            <log_queries replace="replace">1</log_queries>
        </default>
    </profiles>
</yandex>

【讨论】:

谢谢弗拉基米尔。我可以在文件夹/etc/clickhouse-server 中看到一个名为 users.xml 的文件和一个文件夹 users.d,我应该更改这个文件还是在 users.d 中创建另一个文件?我还需要测试一些其他参数,例如“max_server_memory_usage_to_ram_ratio”,我应该直接在 config.xml 中进行更改,还是需要在 users.xml 中进行这些更改??我还需要在更改后重新启动服务器吗?? 任何具有自定义设置的文件应该位于 users.d 文件夹中 - 这很重要,因为位于那里的文件将 在 CH 升级时重写 与存储自定义系统设置相同的规则 - 需要在文件夹 /etc/clickhouse-server/config.d 中创建配置文件 clickhouse-server-服务应该在更改系统设置时重新启动,而不是用户设置

以上是关于无法在 clickhouse 设置中添加设置“log_queries=1”的主要内容,如果未能解决你的问题,请参考以下文章

使用 clickhouse-client 登录时是不是可以设置设置?

如何在 Travis 中使用 Clickhouse

clickhouse设置入库时间

如何在clickhouse中更改kafka引擎的设置

将新节点添加到 Clickhouse 集群的正确方法是啥?

clickhouse安装与启动