容器化部署Clickhosue集群
<!-- 以10.100.1.1机器作为示例配置 -->
<clickhouse>
<!-- remote_servers为集群配置信息,每次更改后可及时生效,无需重启服务器 -->
<remote_servers>
<cluster_2_shard_2_replicas>
<shard>
<replica>
<!-- host 配置需要注意,如果宿主机未添加集群内其他机器的hostname映射关系,则需要在docker命令中添加, 并且只能使用hostname访问 -->
<!-- 如果宿主机添加了host则可以直接使用ip地址进行访问 -->
<host>10.100.1.1</host>
<port>9000</port>
<user>username</user>
<password>password</password>
</replica>
<replica>
<host>10.100.1.2</host>
<port>9000</port>
<user>username</user>
<password>password</password>
</replica>
</shard>
<shard>
<replica>
<host>10.100.1.3</host>
<port>9000</port>
<user>username</user>
<password>password</password>
</replica>
<replica>
<host>10.100.1.4</host>
<port>9000</port>
<user>username</user>
<password>password</password>
</replica>
</shard>
</cluster_2_shard_2_replicas>
</remote_servers>
<zookeeper>
<node index="1">
<host>10.100.1.5</host>
<port>2181</port>
</node>
<node index="2">
<host>10.100.1.6</host>
<port>2181</port>
</node>
<node index="3">
<host>10.100.1.7</host>
<port>2181</port>
</node>
</zookeeper>
<!-- macros 配置在每台机器都不完全相同 -->
<macros>
<layer>layer-01</layer>
<shard>01</shard>
<!-- replica 命名规则: ck-{layer}-{shard}-{replica},其中ck-可自行命名 -->
<!-- 取层数、分片以及第几个副本进行命名,如10.100.1.1处于layer 01、shard 01、replica 1,则replica配置为 ck-01-01-1 -->
<replica>ck-01-01-1</replica>
</macros>
<!-- 添加如下两个配置后创建 MergeTree 表时则不需要再指定zookeeper中的路径 -->
<default_replica_path>/clickhouse/tables/{layer}-{shard}/{database}/{table}</default_replica_path>
<default_replica_name>{replica}</default_replica_name>
</clickhouse>