diff --git a/clickhouse/README b/clickhouse/README
new file mode 100644
index 0000000..af20090
--- /dev/null
+++ b/clickhouse/README
@@ -0,0 +1,13 @@
+Execution steps:
+
+ensure to pull clickhouse docker image
+> docker-compose up -d
+identify the custom networks created.
+> docker network ls
+inspect the keeper network and verify whether all the containers are connected to it
+> docker network inspect {{dds_proj_clickhouse-keeper-network}}
+if all the containers are not connected
+> docker-compose restart
+To execute queries
+> docker exec -it clickhouse-server1 clickhouse-client
+> docker exec -it clickhouse-server2 clickhouse-client
\ No newline at end of file
diff --git a/clickhouse/clickhouse_data/data/preprocessed_configs/config.xml b/clickhouse/clickhouse_data/data/preprocessed_configs/config.xml
new file mode 100644
index 0000000..08de94b
--- /dev/null
+++ b/clickhouse/clickhouse_data/data/preprocessed_configs/config.xml
@@ -0,0 +1,61 @@
+
+
+
+
+ trace
+ /var/log/clickhouse-keeper/clickhouse-keeper.log
+ /var/log/clickhouse-keeper/clickhouse-keeper.err.log
+ 1000M
+ 3
+
+ ::
+
+ /var/lib/clickhouse/data/
+ /var/lib/clickhouse/tmp/
+ /var/lib/clickhouse/user_files/
+ /var/lib/clickhouse/format_schemas/
+
+
+ 9181
+ 2
+ /var/lib/clickhouse/coordination/log
+ /var/lib/clickhouse/coordination/snapshots
+
+ 10000
+ 30000
+ trace
+
+
+
+ 1
+ clickhouse-keeper1
+ 9234
+
+
+ 2
+ clickhouse-keeper2
+ 9234
+
+
+ 3
+ clickhouse-keeper3
+ 9234
+
+
+
+
+
+
+ 0.0.0.0
+ 1
+
+
+
diff --git a/clickhouse/clickhouse_keeper/keeper1-config.xml b/clickhouse/clickhouse_keeper/keeper1-config.xml
new file mode 100644
index 0000000..c5e5d4d
--- /dev/null
+++ b/clickhouse/clickhouse_keeper/keeper1-config.xml
@@ -0,0 +1,44 @@
+
+
+ trace
+ /var/log/clickhouse-keeper/clickhouse-keeper.log
+ /var/log/clickhouse-keeper/clickhouse-keeper.err.log
+ 1000M
+ 3
+
+ 0.0.0.0
+
+ /var/lib/clickhouse/data/
+ /var/lib/clickhouse/tmp/
+ /var/lib/clickhouse/user_files/
+ /var/lib/clickhouse/format_schemas/
+
+
+ 9181
+ 1
+ /var/lib/clickhouse/coordination/log
+ /var/lib/clickhouse/coordination/snapshots
+
+ 10000
+ 30000
+ trace
+
+
+
+ 1
+ clickhouse-keeper1
+ 9234
+
+
+ 2
+ clickhouse-keeper2
+ 9234
+
+
+ 3
+ clickhouse-keeper3
+ 9234
+
+
+
+
diff --git a/clickhouse/clickhouse_keeper/keeper2-config.xml b/clickhouse/clickhouse_keeper/keeper2-config.xml
new file mode 100644
index 0000000..bd2914e
--- /dev/null
+++ b/clickhouse/clickhouse_keeper/keeper2-config.xml
@@ -0,0 +1,44 @@
+
+
+ trace
+ /var/log/clickhouse-keeper/clickhouse-keeper.log
+ /var/log/clickhouse-keeper/clickhouse-keeper.err.log
+ 1000M
+ 3
+
+ 0.0.0.0
+
+ /var/lib/clickhouse/data/
+ /var/lib/clickhouse/tmp/
+ /var/lib/clickhouse/user_files/
+ /var/lib/clickhouse/format_schemas/
+
+
+ 9181
+ 2
+ /var/lib/clickhouse/coordination/log
+ /var/lib/clickhouse/coordination/snapshots
+
+ 10000
+ 30000
+ trace
+
+
+
+ 1
+ clickhouse-keeper1
+ 9234
+
+
+ 2
+ clickhouse-keeper2
+ 9234
+
+
+ 3
+ clickhouse-keeper3
+ 9234
+
+
+
+
diff --git a/clickhouse/clickhouse_keeper/keeper3-config.xml b/clickhouse/clickhouse_keeper/keeper3-config.xml
new file mode 100644
index 0000000..383f9d9
--- /dev/null
+++ b/clickhouse/clickhouse_keeper/keeper3-config.xml
@@ -0,0 +1,44 @@
+
+
+ trace
+ /var/log/clickhouse-keeper/clickhouse-keeper.log
+ /var/log/clickhouse-keeper/clickhouse-keeper.err.log
+ 1000M
+ 3
+
+ 0.0.0.0
+
+ /var/lib/clickhouse/data/
+ /var/lib/clickhouse/tmp/
+ /var/lib/clickhouse/user_files/
+ /var/lib/clickhouse/format_schemas/
+
+
+ 9181
+ 3
+ /var/lib/clickhouse/coordination/log
+ /var/lib/clickhouse/coordination/snapshots
+
+ 10000
+ 30000
+ trace
+
+
+
+ 1
+ clickhouse-keeper1
+ 9234
+
+
+ 2
+ clickhouse-keeper2
+ 9234
+
+
+ 3
+ clickhouse-keeper3
+ 9234
+
+
+
+
diff --git a/clickhouse/docker-compose.yaml b/clickhouse/docker-compose.yaml
new file mode 100644
index 0000000..7841015
--- /dev/null
+++ b/clickhouse/docker-compose.yaml
@@ -0,0 +1,97 @@
+version: '3.8'
+
+services:
+ clickhouse-keeper1:
+ image: clickhouse/clickhouse-server:latest
+ container_name: clickhouse-keeper1
+ command: >
+ /usr/bin/clickhouse-keeper --config-file=/etc/clickhouse-server/config.xml
+ volumes:
+ - ./clickhouse_keeper/keeper1-config.xml:/etc/clickhouse-server/config.xml
+ - ./clickhouse_data/data:/var/lib/clickhouse/data
+ - ./clickhouse_data/tmp:/var/lib/clickhouse/tmp
+ - ./clickhouse_data/user_files:/var/lib/clickhouse/user_files
+ - ./clickhouse_data/format_schemas:/var/lib/clickhouse/format_schemas
+
+ networks:
+ clickhouse-keeper-network:
+ aliases:
+ - clickhouse-keeper1
+
+ clickhouse-keeper2:
+ image: clickhouse/clickhouse-server:latest
+ container_name: clickhouse-keeper2
+ command: >
+ /usr/bin/clickhouse-keeper --config-file=/etc/clickhouse-server/config.xml
+ volumes:
+ - ./clickhouse_keeper/keeper2-config.xml:/etc/clickhouse-server/config.xml
+ - ./clickhouse_data/data:/var/lib/clickhouse/data
+ - ./clickhouse_data/tmp:/var/lib/clickhouse/tmp
+ - ./clickhouse_data/user_files:/var/lib/clickhouse/user_files
+ - ./clickhouse_data/format_schemas:/var/lib/clickhouse/format_schemas
+
+ networks:
+ clickhouse-keeper-network:
+ aliases:
+ - clickhouse-keeper2
+
+ clickhouse-keeper3:
+ image: clickhouse/clickhouse-server:latest
+ container_name: clickhouse-keeper3
+ command: >
+ /usr/bin/clickhouse-keeper --config-file=/etc/clickhouse-server/config.xml
+ volumes:
+ - ./clickhouse_keeper/keeper3-config.xml:/etc/clickhouse-server/config.xml
+ - ./clickhouse_data/data:/var/lib/clickhouse/data
+ - ./clickhouse_data/tmp:/var/lib/clickhouse/tmp
+ - ./clickhouse_data/user_files:/var/lib/clickhouse/user_files
+ - ./clickhouse_data/format_schemas:/var/lib/clickhouse/format_schemas
+
+ networks:
+ clickhouse-keeper-network:
+ aliases:
+ - clickhouse-keeper3
+
+ clickhouse-server1:
+ image: clickhouse/clickhouse-server:latest
+ container_name: clickhouse-server1
+ volumes:
+ - ./node1-config/:/etc/clickhouse-server/config.d/
+ networks:
+ clickhouse-server-network:
+ aliases:
+ - clickhouse-server1
+ clickhouse-keeper-network:
+ aliases:
+ - clickhouse-server1
+ depends_on:
+ - clickhouse-keeper1
+ - clickhouse-keeper2
+ - clickhouse-keeper3
+ ports:
+ - "9001:9000" # Native client port
+ - "8123:8123" # HTTP interface
+
+ clickhouse-server2:
+ image: clickhouse/clickhouse-server:latest
+ container_name: clickhouse-server2
+ volumes:
+ - ./node2-config/:/etc/clickhouse-server/config.d/
+ networks:
+ clickhouse-server-network:
+ aliases:
+ - clickhouse-server2
+ clickhouse-keeper-network:
+ aliases:
+ - clickhouse-server2
+ depends_on:
+ - clickhouse-keeper1
+ - clickhouse-keeper2
+ - clickhouse-keeper3
+ ports:
+ - "9002:9000" # Native client port
+ - "8124:8123" # HTTP interface
+
+networks:
+ clickhouse-server-network:
+ clickhouse-keeper-network:
diff --git a/clickhouse/node1-config/config.xml b/clickhouse/node1-config/config.xml
new file mode 100644
index 0000000..4ced53d
--- /dev/null
+++ b/clickhouse/node1-config/config.xml
@@ -0,0 +1,24 @@
+
+
+ debug
+ /var/log/clickhouse-server/clickhouse-server.log
+ /var/log/clickhouse-server/clickhouse-server.err.log
+ 1000M
+ 3
+
+ cluster_1S_2R node 1
+ 0.0.0.0
+ 8123
+ 9000
+
+ 4096
+ 3
+ 100
+
+
+
+ /etc/clickhouse-server/config.d/macros.xml
+ /etc/clickhouse-server/config.d/remote-servers.xml
+ /etc/clickhouse-server/config.d/use-keeper.xml
+
+
\ No newline at end of file
diff --git a/clickhouse/node1-config/macros.xml b/clickhouse/node1-config/macros.xml
new file mode 100644
index 0000000..e8f48c6
--- /dev/null
+++ b/clickhouse/node1-config/macros.xml
@@ -0,0 +1,7 @@
+
+
+ 01
+ 01
+ cluster_1S_2R
+
+
\ No newline at end of file
diff --git a/clickhouse/node1-config/remote-servers.xml b/clickhouse/node1-config/remote-servers.xml
new file mode 100644
index 0000000..a6a9edd
--- /dev/null
+++ b/clickhouse/node1-config/remote-servers.xml
@@ -0,0 +1,18 @@
+
+
+
+ mysecretphrase
+
+ true
+
+ clickhouse-server1
+ 9000
+
+
+ clickhouse-server2
+ 9000
+
+
+
+
+
\ No newline at end of file
diff --git a/clickhouse/node1-config/use-keeper.xml b/clickhouse/node1-config/use-keeper.xml
new file mode 100644
index 0000000..2b384dc
--- /dev/null
+++ b/clickhouse/node1-config/use-keeper.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ clickhouse-keeper1
+ 9181
+
+
+ clickhouse-keeper2
+ 9181
+
+
+ clickhouse-keeper3
+ 9181
+
+
+
\ No newline at end of file
diff --git a/clickhouse/node2-config/config.xml b/clickhouse/node2-config/config.xml
new file mode 100644
index 0000000..68d5b06
--- /dev/null
+++ b/clickhouse/node2-config/config.xml
@@ -0,0 +1,24 @@
+
+
+ debug
+ /var/log/clickhouse-server/clickhouse-server.log
+ /var/log/clickhouse-server/clickhouse-server.err.log
+ 1000M
+ 3
+
+ cluster_1S_2R node 2
+ 0.0.0.0
+ 8123
+ 9000
+
+ 4096
+ 3
+ 100
+
+
+
+ /etc/clickhouse-server/config.d/macros.xml
+ /etc/clickhouse-server/config.d/remote-servers.xml
+ /etc/clickhouse-server/config.d/use-keeper.xml
+
+
\ No newline at end of file
diff --git a/clickhouse/node2-config/macros.xml b/clickhouse/node2-config/macros.xml
new file mode 100644
index 0000000..52257ed
--- /dev/null
+++ b/clickhouse/node2-config/macros.xml
@@ -0,0 +1,7 @@
+
+
+ 01
+ 02
+ cluster_1S_2R
+
+
\ No newline at end of file
diff --git a/clickhouse/node2-config/remote-servers.xml b/clickhouse/node2-config/remote-servers.xml
new file mode 100644
index 0000000..a6a9edd
--- /dev/null
+++ b/clickhouse/node2-config/remote-servers.xml
@@ -0,0 +1,18 @@
+
+
+
+ mysecretphrase
+
+ true
+
+ clickhouse-server1
+ 9000
+
+
+ clickhouse-server2
+ 9000
+
+
+
+
+
\ No newline at end of file
diff --git a/clickhouse/node2-config/use-keeper.xml b/clickhouse/node2-config/use-keeper.xml
new file mode 100644
index 0000000..2b384dc
--- /dev/null
+++ b/clickhouse/node2-config/use-keeper.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ clickhouse-keeper1
+ 9181
+
+
+ clickhouse-keeper2
+ 9181
+
+
+ clickhouse-keeper3
+ 9181
+
+
+
\ No newline at end of file