snapshot of https://github.com/centrifugal/centrifugo.git (master, 2026-09-16; blobs > 131072B omitted)
This commit is contained in:
11
misc/clickhouse_cluster/.gitignore
vendored
Normal file
11
misc/clickhouse_cluster/.gitignore
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
.vscode
|
||||
.idea
|
||||
zookeper/
|
||||
clickhouse01/
|
||||
clickhouse01_db/
|
||||
clickhouse02/
|
||||
clickhouse02_db/
|
||||
clickhouse03/
|
||||
clickhouse03_db/
|
||||
clickhouse04/
|
||||
clickhouse04_db/
|
||||
28
misc/clickhouse_cluster/Makefile
Normal file
28
misc/clickhouse_cluster/Makefile
Normal file
@@ -0,0 +1,28 @@
|
||||
.PHONY: config
|
||||
config:
|
||||
rm -rf clickhouse01 clickhouse02 clickhouse03 clickhouse04
|
||||
mkdir -p clickhouse01 clickhouse02 clickhouse03 clickhouse04
|
||||
rm -rf clickhouse01_db clickhouse02_db clickhouse03_db clickhouse04_db
|
||||
mkdir -p clickhouse01_db clickhouse02_db clickhouse03_db clickhouse04_db
|
||||
rm -rf zookeeper
|
||||
mkdir -p zookeeper
|
||||
REPLICA=01 SHARD=01 envsubst < config.xml > clickhouse01/config.xml
|
||||
REPLICA=02 SHARD=01 envsubst < config.xml > clickhouse02/config.xml
|
||||
REPLICA=03 SHARD=02 envsubst < config.xml > clickhouse03/config.xml
|
||||
REPLICA=04 SHARD=02 envsubst < config.xml > clickhouse04/config.xml
|
||||
cp users.xml clickhouse01/users.xml
|
||||
cp users.xml clickhouse02/users.xml
|
||||
cp users.xml clickhouse03/users.xml
|
||||
cp users.xml clickhouse04/users.xml
|
||||
|
||||
.PHONY: up
|
||||
up:
|
||||
docker-compose up -d
|
||||
|
||||
.PHONY: start
|
||||
start:
|
||||
docker-compose start
|
||||
|
||||
.PHONY: down
|
||||
down:
|
||||
docker-compose down
|
||||
82
misc/clickhouse_cluster/config.xml
Normal file
82
misc/clickhouse_cluster/config.xml
Normal file
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0"?>
|
||||
<company>
|
||||
<logger>
|
||||
<level>debug</level>
|
||||
<console>true</console>
|
||||
<log remove="remove"/>
|
||||
<errorlog remove="remove"/>
|
||||
</logger>
|
||||
|
||||
<query_log>
|
||||
<database>system</database>
|
||||
<table>query_log</table>
|
||||
</query_log>
|
||||
|
||||
<listen_host>0.0.0.0</listen_host>
|
||||
<http_port>8123</http_port>
|
||||
<tcp_port>9000</tcp_port>
|
||||
<interserver_http_host>clickhouse${REPLICA}</interserver_http_host>
|
||||
<interserver_http_port>9009</interserver_http_port>
|
||||
|
||||
<max_connections>4096</max_connections>
|
||||
<keep_alive_timeout>3</keep_alive_timeout>
|
||||
<max_concurrent_queries>100</max_concurrent_queries>
|
||||
<uncompressed_cache_size>8589934592</uncompressed_cache_size>
|
||||
<mark_cache_size>5368709120</mark_cache_size>
|
||||
|
||||
<path>/var/lib/clickhouse/</path>
|
||||
<tmp_path>/var/lib/clickhouse/tmp/</tmp_path>
|
||||
<user_files_path>/var/lib/clickhouse/user_files/</user_files_path>
|
||||
|
||||
<users_config>users.xml</users_config>
|
||||
<default_profile>default</default_profile>
|
||||
<default_database>default</default_database>
|
||||
<timezone>Europe/Moscow</timezone>
|
||||
<mlock_executable>false</mlock_executable>
|
||||
|
||||
<remote_servers>
|
||||
<centrifugo_cluster>
|
||||
<shard>
|
||||
<internal_replication>true</internal_replication>
|
||||
<replica>
|
||||
<host>clickhouse01</host>
|
||||
<port>9000</port>
|
||||
</replica>
|
||||
<replica>
|
||||
<host>clickhouse02</host>
|
||||
<port>9000</port>
|
||||
</replica>
|
||||
</shard>
|
||||
<shard>
|
||||
<internal_replication>true</internal_replication>
|
||||
<replica>
|
||||
<host>clickhouse03</host>
|
||||
<port>9000</port>
|
||||
</replica>
|
||||
<replica>
|
||||
<host>clickhouse04</host>
|
||||
<port>9000</port>
|
||||
</replica>
|
||||
</shard>
|
||||
</centrifugo_cluster>
|
||||
</remote_servers>
|
||||
|
||||
<zookeeper>
|
||||
<node index="1">
|
||||
<host>zookeeper</host>
|
||||
<port>2181</port>
|
||||
</node>
|
||||
</zookeeper>
|
||||
|
||||
<macros>
|
||||
<cluster>centrifugo_cluster</cluster>
|
||||
<shard>${SHARD}</shard>
|
||||
<replica>clickhouse${REPLICA}</replica>
|
||||
</macros>
|
||||
|
||||
<distributed_ddl>
|
||||
<path>/clickhouse/task_queue/ddl</path>
|
||||
</distributed_ddl>
|
||||
|
||||
<format_schema_path>/var/lib/clickhouse/format_schemas/</format_schema_path>
|
||||
</company>
|
||||
68
misc/clickhouse_cluster/docker-compose.yml
Normal file
68
misc/clickhouse_cluster/docker-compose.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
version: '3.8'
|
||||
services:
|
||||
zookeeper:
|
||||
image: zookeeper:latest
|
||||
container_name: zookeeper
|
||||
hostname: zookeeper
|
||||
environment:
|
||||
ALLOW_ANONYMOUS_LOGIN: "yes"
|
||||
healthcheck:
|
||||
test: echo "ruok" | nc -w 2 localhost 2181
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
volumes:
|
||||
- ${PWD}/zookeeper:/data
|
||||
- ${PWD}/zookeeper:/logs
|
||||
clickhouse01:
|
||||
image: clickhouse/clickhouse-server:23-alpine
|
||||
container_name: clickhouse01
|
||||
hostname: clickhouse01
|
||||
ports:
|
||||
- "127.0.0.1:8123:8123"
|
||||
- "127.0.0.1:9000:9000"
|
||||
volumes:
|
||||
- ${PWD}/clickhouse01:/etc/clickhouse-server
|
||||
- ${PWD}/clickhouse01_db:/var/lib/clickhouse
|
||||
depends_on:
|
||||
zookeeper:
|
||||
condition: service_healthy
|
||||
clickhouse02:
|
||||
image: clickhouse/clickhouse-server:23-alpine
|
||||
container_name: clickhouse02
|
||||
hostname: clickhouse02
|
||||
ports:
|
||||
- "127.0.0.1:8124:8123"
|
||||
- "127.0.0.1:9001:9000"
|
||||
volumes:
|
||||
- ${PWD}/clickhouse02:/etc/clickhouse-server
|
||||
- ${PWD}/clickhouse02_db:/var/lib/clickhouse
|
||||
depends_on:
|
||||
zookeeper:
|
||||
condition: service_healthy
|
||||
clickhouse03:
|
||||
image: clickhouse/clickhouse-server:23-alpine
|
||||
container_name: clickhouse03
|
||||
hostname: clickhouse03
|
||||
ports:
|
||||
- "127.0.0.1:8125:8123"
|
||||
- "127.0.0.1:9002:9000"
|
||||
volumes:
|
||||
- ${PWD}/clickhouse03:/etc/clickhouse-server
|
||||
- ${PWD}/clickhouse03_db:/var/lib/clickhouse
|
||||
depends_on:
|
||||
zookeeper:
|
||||
condition: service_healthy
|
||||
clickhouse04:
|
||||
image: clickhouse/clickhouse-server:23-alpine
|
||||
container_name: clickhouse04
|
||||
hostname: clickhouse04
|
||||
ports:
|
||||
- "127.0.0.1:8126:8123"
|
||||
- "127.0.0.1:9003:9000"
|
||||
volumes:
|
||||
- ${PWD}/clickhouse04:/etc/clickhouse-server
|
||||
- ${PWD}/clickhouse04_db:/var/lib/clickhouse
|
||||
depends_on:
|
||||
zookeeper:
|
||||
condition: service_healthy
|
||||
15
misc/clickhouse_cluster/readme.md
Normal file
15
misc/clickhouse_cluster/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Clickhouse Cluster
|
||||
|
||||
Clickhouse cluster with 2 shards and 2 replicas built with docker-compose.
|
||||
|
||||
## Run
|
||||
|
||||
```
|
||||
make config
|
||||
docker compose up
|
||||
```
|
||||
|
||||
## Profiles
|
||||
|
||||
- `default` - no password
|
||||
- `admin` - password `123`
|
||||
43
misc/clickhouse_cluster/users.xml
Normal file
43
misc/clickhouse_cluster/users.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0"?>
|
||||
<company>
|
||||
<profiles>
|
||||
<default>
|
||||
<max_memory_usage>10000000000</max_memory_usage>
|
||||
<use_uncompressed_cache>0</use_uncompressed_cache>
|
||||
<load_balancing>in_order</load_balancing>
|
||||
<log_queries>1</log_queries>
|
||||
</default>
|
||||
</profiles>
|
||||
|
||||
<users>
|
||||
<default>
|
||||
<password></password>
|
||||
<profile>default</profile>
|
||||
<networks>
|
||||
<ip>::/0</ip>
|
||||
</networks>
|
||||
<quota>default</quota>
|
||||
</default>
|
||||
<admin>
|
||||
<password>123</password>
|
||||
<profile>default</profile>
|
||||
<networks>
|
||||
<ip>::/0</ip>
|
||||
</networks>
|
||||
<quota>default</quota>
|
||||
</admin>
|
||||
</users>
|
||||
|
||||
<quotas>
|
||||
<default>
|
||||
<interval>
|
||||
<duration>3600</duration>
|
||||
<queries>0</queries>
|
||||
<errors>0</errors>
|
||||
<result_rows>0</result_rows>
|
||||
<read_rows>0</read_rows>
|
||||
<execution_time>0</execution_time>
|
||||
</interval>
|
||||
</default>
|
||||
</quotas>
|
||||
</company>
|
||||
Reference in New Issue
Block a user