mirror of
https://github.com/20kaushik02/real-time-traffic-analysis-clickhouse.git
synced 2025-12-06 09:44:06 +00:00
attempting swarm mode with linux host
This commit is contained in:
parent
6a4cdd6b50
commit
84e501cf4b
@ -11,6 +11,9 @@ services:
|
|||||||
clickhouse-keeper-network:
|
clickhouse-keeper-network:
|
||||||
aliases:
|
aliases:
|
||||||
- clickhouse-keeper1
|
- clickhouse-keeper1
|
||||||
|
deploy:
|
||||||
|
placement:
|
||||||
|
constraints: [node.labels.main == true]
|
||||||
|
|
||||||
clickhouse-keeper2:
|
clickhouse-keeper2:
|
||||||
image: clickhouse/clickhouse-server:latest
|
image: clickhouse/clickhouse-server:latest
|
||||||
@ -23,6 +26,9 @@ services:
|
|||||||
clickhouse-keeper-network:
|
clickhouse-keeper-network:
|
||||||
aliases:
|
aliases:
|
||||||
- clickhouse-keeper2
|
- clickhouse-keeper2
|
||||||
|
deploy:
|
||||||
|
placement:
|
||||||
|
constraints: [node.labels.main == true]
|
||||||
|
|
||||||
clickhouse-keeper3:
|
clickhouse-keeper3:
|
||||||
image: clickhouse/clickhouse-server:latest
|
image: clickhouse/clickhouse-server:latest
|
||||||
@ -35,6 +41,9 @@ services:
|
|||||||
clickhouse-keeper-network:
|
clickhouse-keeper-network:
|
||||||
aliases:
|
aliases:
|
||||||
- clickhouse-keeper3
|
- clickhouse-keeper3
|
||||||
|
deploy:
|
||||||
|
placement:
|
||||||
|
constraints: [node.labels.main == true]
|
||||||
|
|
||||||
clickhouse-server1:
|
clickhouse-server1:
|
||||||
image: clickhouse/clickhouse-server:latest
|
image: clickhouse/clickhouse-server:latest
|
||||||
@ -56,8 +65,8 @@ services:
|
|||||||
- clickhouse-server1
|
- clickhouse-server1
|
||||||
deploy:
|
deploy:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
# placement:
|
placement:
|
||||||
# constraints: [node.labels.role == server]
|
constraints: [node.labels.main == true]
|
||||||
update_config:
|
update_config:
|
||||||
delay: 10s
|
delay: 10s
|
||||||
resources:
|
resources:
|
||||||
@ -90,8 +99,8 @@ services:
|
|||||||
- clickhouse-server2
|
- clickhouse-server2
|
||||||
deploy:
|
deploy:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
# placement:
|
placement:
|
||||||
# constraints: [node.labels.role == server]
|
constraints: [node.labels.main == true]
|
||||||
update_config:
|
update_config:
|
||||||
delay: 10s
|
delay: 10s
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
@ -7,6 +7,8 @@ services:
|
|||||||
- zookeeper
|
- zookeeper
|
||||||
deploy:
|
deploy:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
placement:
|
||||||
|
constraints: [node.labels.worker == true]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: on-failure
|
condition: on-failure
|
||||||
environment:
|
environment:
|
||||||
@ -40,6 +42,8 @@ services:
|
|||||||
- kafka_data:/var/lib/kafka/data
|
- kafka_data:/var/lib/kafka/data
|
||||||
deploy:
|
deploy:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
placement:
|
||||||
|
constraints: [node.labels.worker == true]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: on-failure
|
condition: on-failure
|
||||||
|
|
||||||
@ -56,6 +60,8 @@ services:
|
|||||||
command: "sh -c 'sleep 30 && python /app/pcap_processor.py -c /data/csv/main.csv -x --stream_size 100000'"
|
command: "sh -c 'sleep 30 && python /app/pcap_processor.py -c /data/csv/main.csv -x --stream_size 100000'"
|
||||||
deploy:
|
deploy:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
placement:
|
||||||
|
constraints: [node.labels.worker == true]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: on-failure
|
condition: on-failure
|
||||||
|
|
||||||
|
|||||||
37
scripts/deploy.sh
Normal file → Executable file
37
scripts/deploy.sh
Normal file → Executable file
@ -1,7 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
while getopts "M:D:T:A" flag; do
|
while getopts "SMDT:A" flag; do
|
||||||
case "${flag}" in
|
case "${flag}" in
|
||||||
|
S) sudoRequired=true ;;
|
||||||
M) masterNode=true ;;
|
M) masterNode=true ;;
|
||||||
D) downStack=true ;;
|
D) downStack=true ;;
|
||||||
T) swarmToken=$OPTARG ;;
|
T) swarmToken=$OPTARG ;;
|
||||||
@ -9,34 +10,36 @@ while getopts "M:D:T:A" flag; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "masterNode: $masterNode"
|
scriptDir=$(dirname $(readlink -f "$0"))
|
||||||
echo "downStack: $downStack"
|
|
||||||
echo "swarmToken: $swarmToken"
|
|
||||||
echo "managerAddr: $managerAddr"
|
|
||||||
|
|
||||||
$scriptDir = $(readlink -f "$0")
|
|
||||||
# echo $scriptDir # ===> /Project/scripts
|
# echo $scriptDir # ===> /Project/scripts
|
||||||
|
|
||||||
$stackName="TheWebFarm"
|
stackName="TheWebFarm"
|
||||||
|
|
||||||
|
dockerCmd="docker"
|
||||||
|
if [[ $sudoRequired ]]; then
|
||||||
|
dockerCmd="sudo docker"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $downStack ]]; then
|
if [[ $downStack ]]; then
|
||||||
echo "[+] Removing stack..."
|
echo "[+] Removing stack..."
|
||||||
docker stack rm $stackName
|
echo "$dockerCmd stack rm $stackName"
|
||||||
docker service rm registry
|
$dockerCmd stack rm $stackName
|
||||||
|
$dockerCmd service rm registry
|
||||||
sleep 20
|
sleep 20
|
||||||
docker volume rm $(docker volume ls --filter name=$stackName -q)
|
$dockerCmd volume rm $($dockerCmd volume ls --filter name=$stackName -q)
|
||||||
elif ($MasterNode); then
|
elif ($masterNode); then
|
||||||
echo "[+] swarm master"
|
echo "[+] swarm master"
|
||||||
|
$dockerCmd swarm init
|
||||||
|
|
||||||
# data streaming
|
# data streaming
|
||||||
cd $scriptDir/../preprocessing
|
cd $scriptDir/../preprocessing
|
||||||
docker service create --name registry -p 5000:5000 registry:2
|
$dockerCmd service create --name registry -p 5000:5000 registry:2
|
||||||
# docker build -t 127.0.0.1:5000/data-streamer:latest --no-cache --push -f Dockerfile.python .
|
$dockerCmd build -t 127.0.0.1:5000/data-streamer:latest --no-cache --push -f Dockerfile.python .
|
||||||
docker build -t 127.0.0.1:5000/data-streamer:latest --push -f Dockerfile.python .
|
# $dockerCmd build -t 127.0.0.1:5000/data-streamer:latest --push -f Dockerfile.python .
|
||||||
|
|
||||||
# execute
|
# execute
|
||||||
cd $scriptDir
|
cd $scriptDir
|
||||||
docker stack deploy -d \
|
$dockerCmd stack deploy -d \
|
||||||
-c ../preprocessing/docker-compose.yml \
|
-c ../preprocessing/docker-compose.yml \
|
||||||
-c ../clickhouse/docker-compose.yaml \
|
-c ../clickhouse/docker-compose.yaml \
|
||||||
-c ../ui/docker-compose.yaml \
|
-c ../ui/docker-compose.yaml \
|
||||||
@ -49,5 +52,5 @@ elif ($MasterNode); then
|
|||||||
else
|
else
|
||||||
echo "[+] swarm follower"
|
echo "[+] swarm follower"
|
||||||
echo "[+] joining swarm with token $swarmToken"
|
echo "[+] joining swarm with token $swarmToken"
|
||||||
docker swarm join --token $swarmToken $managerAddr
|
$dockerCmd swarm join --token $swarmToken $managerAddr
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -14,6 +14,9 @@ services:
|
|||||||
clickhouse-server-network:
|
clickhouse-server-network:
|
||||||
aliases:
|
aliases:
|
||||||
- grafana
|
- grafana
|
||||||
|
deploy:
|
||||||
|
placement:
|
||||||
|
constraints: [node.labels.worker == true]
|
||||||
depends_on:
|
depends_on:
|
||||||
- clickhouse-server1
|
- clickhouse-server1
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user