blob: be950cd02f91cba23b3f72e215eafb299e486bb5 [file] [log] [blame]
rdudyalab086cf32016-08-11 00:07:45 -04001#!/bin/bash
2set -x
3BASE_KAFKA_VERSION=0.9.0.0
4KAFKA_VERSION=2.11-0.9.0.0
5export CONF_BASE=$PWD
Srikanth Vavilapalli71aa28d2017-01-31 00:43:13 +00006export SERVICE_HOST=$(hostname)
rdudyalab086cf32016-08-11 00:07:45 -04007echo $CONF_BASE
8sudo sed -i "s/.*127.0.0.1.*/127.0.0.1 localhost $(hostname)/" /etc/hosts
9
10function install_openjdk_7_jdk {
11
12 echo "Install openjdk_7_jdk"
13
14 sudo apt-get -y install openjdk-7-jdk
15
16}
17
18function clean_openjdk_7_jdk {
19
20 echo "Clean openjdk_7_jdk"
21
22 sudo apt-get -y purge openjdk-7-jdk
23
24 sudo apt-get -y autoremove
25
26}
27
28function install_zookeeper {
29
30 echo "Install Zookeeper"
31
32 sudo apt-get -y install zookeeperd
33
34 sudo cp "${CONF_BASE}"/conf/zookeeper/zoo.cfg /etc/zookeeper/conf/zoo.cfg
35
36 if [[ ${SERVICE_HOST} ]]; then
37
38 sudo sed -i "s/server\.0=127\.0\.0\.1/server.0=${SERVICE_HOST}/g" /etc/zookeeper/conf/zoo.cfg
39
40 fi
41
42 sudo cp "${CONF_BASE}"/conf/zookeeper/myid /etc/zookeeper/conf/myid
43
44 sudo cp "${CONF_BASE}"/conf/zookeeper/environment /etc/zookeeper/conf/environment
45
46 sudo mkdir -p /var/log/zookeeper || true
47
48 sudo chmod 755 /var/log/zookeeper
49
50 sudo cp "${CONF_BASE}"/conf/zookeeper/log4j.properties /etc/zookeeper/conf/log4j.properties
51
52 sudo start zookeeper || sudo restart zookeeper
53}
54
55function clean_zookeeper {
56
57 echo "Clean Zookeeper"
58
59 sudo stop zookeeper || true
60
61 sudo apt-get -y purge zookeeperd
62
63 sudo apt-get -y purge zookeeper
64
65 sudo rm -rf /etc/zookeeper
66
67 sudo rm -rf /var/log/zookeeper
68
69 sudo rm -rf /var/lib/zookeeper
70}
71
72function install_kafka {
73
74 echo "Install Kafka"
75
76 if [[ "$OFFLINE" != "True" ]]; then
77 sudo curl http://apache.mirrors.tds.net/kafka/${BASE_KAFKA_VERSION}/kafka_${KAFKA_VERSION}.tgz \
78 -o /root/kafka_${KAFKA_VERSION}.tgz
79 fi
80
81 sudo groupadd --system kafka || true
82
83 sudo useradd --system -g kafka kafka || true
84
85 sudo tar -xzf /root/kafka_${KAFKA_VERSION}.tgz -C /opt
86
87 sudo ln -sf /opt/kafka_${KAFKA_VERSION} /opt/kafka
88
89 sudo cp -f "${CONF_BASE}"/conf/kafka/kafka-server-start.sh /opt/kafka_${KAFKA_VERSION}/bin/kafka-server-start.sh
90
91 sudo cp -f "${CONF_BASE}"/conf/kafka/kafka.conf /etc/init/kafka.conf
92
93 sudo chown root:root /etc/init/kafka.conf
94
95 sudo chmod 644 /etc/init/kafka.conf
96
97 sudo mkdir -p /var/kafka || true
98
99 sudo chown kafka:kafka /var/kafka
100
101 sudo chmod 755 /var/kafka
102
103 sudo rm -rf /var/kafka/lost+found
104
105 sudo mkdir -p /var/log/kafka || true
106
107 sudo chown kafka:kafka /var/log/kafka
108
109 sudo chmod 755 /var/log/kafka
110
111 sudo ln -sf /opt/kafka/config /etc/kafka
112
113 sudo cp -f "${CONF_BASE}"/conf/kafka/log4j.properties /etc/kafka/log4j.properties
114
115 sudo chown kafka:kafka /etc/kafka/log4j.properties
116
117 sudo chmod 644 /etc/kafka/log4j.properties
118
119 sudo cp -f "${CONF_BASE}"/conf/kafka/server.properties /etc/kafka/server.properties
120
121 sudo chown kafka:kafka /etc/kafka/server.properties
122
123 sudo chmod 644 /etc/kafka/server.properties
124
125 if [[ ${SERVICE_HOST} ]]; then
126
Srikanth Vavilapalli71aa28d2017-01-31 00:43:13 +0000127 sudo sed -i "s/host\.name=127\.0\.0\.1/host.name=0.0.0.0/g" /etc/kafka/server.properties
128 sudo sed -i "s/^#advertised\.host\.name=.*$/advertised.host.name=${SERVICE_HOST}/g" /etc/kafka/server.properties
rdudyalab086cf32016-08-11 00:07:45 -0400129 sudo sed -i "s/zookeeper\.connect=127\.0\.0\.1:2181/zookeeper.connect=${SERVICE_HOST}:2181/g" /etc/kafka/server.properties
130
131 fi
132
133 sudo start kafka || sudo restart kafka
134}
135
136function clean_kafka {
137
138 echo "Clean Kafka"
139
140 sudo stop kafka || true
141
142 sudo rm -rf /var/kafka
143
144 sudo rm -rf /var/log/kafka
145
146 sudo rm -rf /etc/kafka
147
148 sudo rm -rf /opt/kafka
149
150 sudo rm -rf /etc/init/kafka.conf
151
152 sudo userdel kafka
153
154 sudo groupdel kafka
155
156 sudo rm -rf /opt/kafka_${KAFKA_VERSION}
157
158 sudo rm -rf /root/kafka_${KAFKA_VERSION}.tgz
159
160}
161
162if [ $1 == "install" ] ; then
163 install_openjdk_7_jdk
164 install_zookeeper
165 install_kafka
166 echo "Waiting for kafka and zookeeper to come up"
167 sleep 5
168 /opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic ceilometer
169fi
170
171if [ $1 == "clean" ] ; then
172 clean_kafka
173 clean_zookeeper
174 clean_openjdk_7_jdk
175fi
176