blob: 23632d2363bbafe569f9d6d07997aac8bb069b16 [file] [log] [blame]
Matteo Scandoloeb0d11c2017-08-08 13:05:26 -07001
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16
rdudyalab086cf32016-08-11 00:07:45 -040017#!/bin/bash
18set -x
19BASE_KAFKA_VERSION=0.9.0.0
20KAFKA_VERSION=2.11-0.9.0.0
21export CONF_BASE=$PWD
22echo $CONF_BASE
23sudo sed -i "s/.*127.0.0.1.*/127.0.0.1 localhost $(hostname)/" /etc/hosts
24
25function install_openjdk_7_jdk {
26
27 echo "Install openjdk_7_jdk"
28
29 sudo apt-get -y install openjdk-7-jdk
30
31}
32
33function clean_openjdk_7_jdk {
34
35 echo "Clean openjdk_7_jdk"
36
37 sudo apt-get -y purge openjdk-7-jdk
38
39 sudo apt-get -y autoremove
40
41}
42
43function install_zookeeper {
44
45 echo "Install Zookeeper"
46
47 sudo apt-get -y install zookeeperd
48
49 sudo cp "${CONF_BASE}"/conf/zookeeper/zoo.cfg /etc/zookeeper/conf/zoo.cfg
50
51 if [[ ${SERVICE_HOST} ]]; then
52
53 sudo sed -i "s/server\.0=127\.0\.0\.1/server.0=${SERVICE_HOST}/g" /etc/zookeeper/conf/zoo.cfg
54
55 fi
56
57 sudo cp "${CONF_BASE}"/conf/zookeeper/myid /etc/zookeeper/conf/myid
58
59 sudo cp "${CONF_BASE}"/conf/zookeeper/environment /etc/zookeeper/conf/environment
60
61 sudo mkdir -p /var/log/zookeeper || true
62
63 sudo chmod 755 /var/log/zookeeper
64
65 sudo cp "${CONF_BASE}"/conf/zookeeper/log4j.properties /etc/zookeeper/conf/log4j.properties
66
67 sudo start zookeeper || sudo restart zookeeper
68}
69
70function clean_zookeeper {
71
72 echo "Clean Zookeeper"
73
74 sudo stop zookeeper || true
75
76 sudo apt-get -y purge zookeeperd
77
78 sudo apt-get -y purge zookeeper
79
80 sudo rm -rf /etc/zookeeper
81
82 sudo rm -rf /var/log/zookeeper
83
84 sudo rm -rf /var/lib/zookeeper
85}
86
87function install_kafka {
88
89 echo "Install Kafka"
90
91 if [[ "$OFFLINE" != "True" ]]; then
92 sudo curl http://apache.mirrors.tds.net/kafka/${BASE_KAFKA_VERSION}/kafka_${KAFKA_VERSION}.tgz \
93 -o /root/kafka_${KAFKA_VERSION}.tgz
94 fi
95
96 sudo groupadd --system kafka || true
97
98 sudo useradd --system -g kafka kafka || true
99
100 sudo tar -xzf /root/kafka_${KAFKA_VERSION}.tgz -C /opt
101
102 sudo ln -sf /opt/kafka_${KAFKA_VERSION} /opt/kafka
103
104 sudo cp -f "${CONF_BASE}"/conf/kafka/kafka-server-start.sh /opt/kafka_${KAFKA_VERSION}/bin/kafka-server-start.sh
105
106 sudo cp -f "${CONF_BASE}"/conf/kafka/kafka.conf /etc/init/kafka.conf
107
108 sudo chown root:root /etc/init/kafka.conf
109
110 sudo chmod 644 /etc/init/kafka.conf
111
112 sudo mkdir -p /var/kafka || true
113
114 sudo chown kafka:kafka /var/kafka
115
116 sudo chmod 755 /var/kafka
117
118 sudo rm -rf /var/kafka/lost+found
119
120 sudo mkdir -p /var/log/kafka || true
121
122 sudo chown kafka:kafka /var/log/kafka
123
124 sudo chmod 755 /var/log/kafka
125
126 sudo ln -sf /opt/kafka/config /etc/kafka
127
128 sudo cp -f "${CONF_BASE}"/conf/kafka/log4j.properties /etc/kafka/log4j.properties
129
130 sudo chown kafka:kafka /etc/kafka/log4j.properties
131
132 sudo chmod 644 /etc/kafka/log4j.properties
133
134 sudo cp -f "${CONF_BASE}"/conf/kafka/server.properties /etc/kafka/server.properties
135
136 sudo chown kafka:kafka /etc/kafka/server.properties
137
138 sudo chmod 644 /etc/kafka/server.properties
139
140 if [[ ${SERVICE_HOST} ]]; then
141
Srikanth Vavilapallie88d7582017-02-01 00:42:23 +0000142 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 -0400143 sudo sed -i "s/zookeeper\.connect=127\.0\.0\.1:2181/zookeeper.connect=${SERVICE_HOST}:2181/g" /etc/kafka/server.properties
144
145 fi
146
147 sudo start kafka || sudo restart kafka
148}
149
150function clean_kafka {
151
152 echo "Clean Kafka"
153
154 sudo stop kafka || true
155
156 sudo rm -rf /var/kafka
157
158 sudo rm -rf /var/log/kafka
159
160 sudo rm -rf /etc/kafka
161
162 sudo rm -rf /opt/kafka
163
164 sudo rm -rf /etc/init/kafka.conf
165
166 sudo userdel kafka
167
168 sudo groupdel kafka
169
170 sudo rm -rf /opt/kafka_${KAFKA_VERSION}
171
172 sudo rm -rf /root/kafka_${KAFKA_VERSION}.tgz
173
174}
175
176if [ $1 == "install" ] ; then
177 install_openjdk_7_jdk
178 install_zookeeper
179 install_kafka
180 echo "Waiting for kafka and zookeeper to come up"
181 sleep 5
182 /opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic ceilometer
183fi
184
185if [ $1 == "clean" ] ; then
186 clean_kafka
187 clean_zookeeper
188 clean_openjdk_7_jdk
189fi
190