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