How to properly set configuration files (users.xml)

34 views
Skip to first unread message

kriticar

unread,
Sep 18, 2019, 5:35:34 AM9/18/19
to ClickHouse
Hi,

I have read at https://clickhouse.yandex/docs/en/operations/configuration_files/ that instead of setting config.xml parameters in /etc/clickhouse-server/config.xml we should set it in /etc/clickhouse-server/config.d/config.xml which I have done and everything works OK.

In the same directory I have put users.xml (/etc/clickhouse-server/config.d/users.xml), but as I can see clickhouse instead of it uses /etc/clickhouse-server/users.xml.

I believed that idea of using /etc/clickhouse-server/config.d/ is to separate not default parameters in xml files, but now I am not sure about that anymore.

In config.xml I have found property that could help:

<!-- Path to configuration file with users, access rights, profiles of settings, quotas. -->
<users_config>users.xml</users_config>

What is your best practices regarding location of users.xml file.

Regards.

Denis Zhuravlev

unread,
Sep 18, 2019, 5:35:17 PM9/18/19
to ClickHouse
It should work, check that you have proper opening / closing tags.

<?xml version="1.0"?>
<yandex>
    <profiles>
        <default>


Check ch log file for errors. You can do something touch /etc/clickhouse-server/config.d/users.xml
Ch will re-read xml and spill errors to /var/log/clickhouse-server/clickhouse-server.log

And you can have many xml files

ls -1 /etc/clickhouse-server/conf.d/
clusters.xml
config_substitutes.xml
macros.xml
memory_usage.xml
user_default.xml
user_substitutes.xml
zookeeper.xml

ls -1 /etc/clickhouse-server/users.d/
memory_usage.xml
profile_default.xml
user_xdev.xml
user_daemon.xml
user_dev.xml
user_dwh.xml
user_rainman.xml
user_writer.xml

In subfolders conf.d config.d users.d/
All xml files are rendered into
/etc/clickhouse-server/preprocessed/config.xml
/etc/clickhouse-server/preprocessed/users.xml
Check them to see that your settings applied.
These two configs are real configs.

kriticar

unread,
Sep 20, 2019, 3:26:30 AM9/20/19
to ClickHouse

I have very weird situation. This is what I have done.

in /etc/clickhouse-server/config.d/config.xml <level>error</level> was previously set
tail -f /var/log/clickhouse-server/clickhouse-server.log | grep xml
now I set in in /etc/clickhouse-server/config.d/config.xml <level>trace</level> (I can see in other window [tail with no grep] that now log is filling up)
touch /etc/clickhouse-server/config.d/users.xml gives the following entry in tail | grep

2019.09.20 09:19:47.981569 [ 23 ] {} <Debug> ConfigReloader: Loading config '/etc/clickhouse-server/config.xml'

Please notice, that this is not config.d/config.xml.

Anyway, config.d/config.xml is not read.

Can you please provide to me your <users_config>users.xml</users_config> value from config.xml?

Regards.

Denis Zhuravlev

unread,
Sep 20, 2019, 10:45:37 AM9/20/19
to ClickHouse

/etc/clickhouse-server# grep -R users_config *
config.xml:    <users_config>users.xml</users_config>

I've never change default configs /etc/clickhouse-server (config.xml & users.xml) , only add new files in conf.d

Reply all
Reply to author
Forward
0 new messages