为什么在分布式引擎table目录中创建的分片目录中输入的密码?

Why is the password entered in the shard directories created in the distributed engine table directory?

我已经在集群上设置了 3 个分片,包括本地分片,如下所示。

<log>
    <secret>users</secret>
    <shard>
         <replica>
             <host>127.0.0.1</host>
             <port>9000</port>
         </replica>
    </shard>
    <shard>
         <replica>
             <host>remote1</host>
             <port>9000</port>
         </replica>
    </shard>
    <shard>
         <replica>
             <host>remote2</host>
             <port>9000</port>
         </replica>
    </shard>
</log>

然后我创建了一个分布式引擎 table,包括切碎密钥。

在分布式 table 上执行 INSERT 查询时, 在 'ClickHouse data directory'.

中的 'distributed table directory' 中创建了包含密码的分片目录

例如ClickHouse数据目录是

/etc/clickhouse-server/data/

并在本地数据库中创建了一个名为 log_total 的分布式 table。

当我执行 INSERT INTO local.log_total ..... 查询时。

在此路径中(/etc/clickhouse-server/data/local/log_total/) 创建了三个目录,如下所示。

default:password@127%2E0%2E0%2E1:9000#dbname
default:password@remote1:9000#dbname
default:password@remote2:9000#dbname

我希望这个目录不包含密码。

我以为使用秘密标签可以解决问题,但事实并非如此。

有什么好的方法吗?

请分享您的经验。

谢谢。

有这个设置

 --use_compact_format_in_distributed_parts_names arg  
                              Changes format of directories names for distributed table insert parts.

默认情况下启用

SELECT
    name,
    value
FROM system.settings
WHERE name = 'use_compact_format_in_distributed_parts_names'

┌─name──────────────────────────────────────────┬─value─┐
│ use_compact_format_in_distributed_parts_names │ 1     │
└───────────────────────────────────────────────┴───────┘

如果 use_compact_format_in_distributed_parts_names=1 则文件夹名称变为 shard_1_replica_1 而没有 username/password。

你用的是什么CH版本?