-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathstart.sh
executable file
·85 lines (69 loc) · 2.02 KB
/
start.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/bin/bash
KAFKA_HOME="$HOME/Development/kafka_2.11-0.10.0.0" #update home path based on your installation
KAFKA_PORT=9092 #default port
ZOOKEEPER_PORT=2181 #default port
HOST_IP=192.168.1.51 #host running kafka and zookeeper
GOROOT="$HOME/go" #update home path based on your installation
GOPATH="$GOROOT/bin"
WORKDIR="$GOROOT/src/bitbucket.org/saurabh-rayakwar/mailer"
function start_kafka(){
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties > /dev/null &
}
function start_zookeeper(){
$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties > /dev/null &
}
function check_kafka(){
SERVICE="kafka"
if nc -vz $HOST_IP $KAFKA_PORT > /dev/null
then
echo "-------------"
echo "$SERVICE service is up!"
echo "-------------"
else
echo "-------------"
echo "$SERVICE is not running"
echo "-------------"
echo "-------------"
echo "Attempting to start the service $SERVICE"
echo "-------------"
start_kafka
fi
}
function check_zookeeper(){
SERVICE="zookeeper"
if nc -vz $HOST_IP $ZOOKEEPER_PORT > /dev/null
then
echo "-------------"
echo "$SERVICE service is up!"
echo "-------------"
else
echo "-------------"
echo "$SERVICE is not running"
echo "-------------"
echo "-------------"
echo "Attempting to start the service $SERVICE"
echo "-------------"
start_zookeeper
fi
}
function build_go_producer(){
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix noncgo -o $WORKDIR/build/producer/producer $WORKDIR/cmd/producer/main.go &
}
function build_go_consumer(){
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix noncgo -o $WORKDIR/build/consumer/consumer $WORKDIR/cmd/consumer/main.go &
}
function build_docker_consumer(){
docker build -t k_consumer -f $WORKDIR/build/consumer/Dockerfile . &
}
function build_docker_producer(){
docker build -t k_producer -f $WORKDIR/build/consumer/Dockerfile . &
}
function main(){
check_zookeeper
check_kafka
build_go_producer
build_go_consumer
build_docker_producer
build_docker_consumer
}
main