summaryrefslogtreecommitdiffstats
path: root/src/main/docker/include/etc/confluent/docker/configure
blob: 74e1c111c2dd76b3d805f9d5d791fcea528e09a7 (plain)
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
#!/usr/bin/env bash
#
# Copyright 2016 Confluent Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

. /etc/confluent/docker/bash-config

dub ensure ZOOKEEPER_CLIENT_PORT

dub path /etc/kafka/ writable

# myid is required for clusters
if [[ -n "${ZOOKEEPER_SERVERS-}" ]]
then
  dub ensure ZOOKEEPER_SERVER_ID
  export ZOOKEEPER_INIT_LIMIT=${ZOOKEEPER_INIT_LIMIT:-"10"}
  export ZOOKEEPER_SYNC_LIMIT=${ZOOKEEPER_SYNC_LIMIT:-"5"}
fi

if [[ -n "${ZOOKEEPER_SERVER_ID-}" ]]
then
  dub template "/etc/confluent/docker/myid.template" "/var/lib/${COMPONENT}/data/myid"
fi

if [[ -n "${KAFKA_JMX_OPTS-}" ]]
then
  if [[ ! $KAFKA_JMX_OPTS == *"com.sun.management.jmxremote.rmi.port"*  ]]
  then
    echo "KAFKA_JMX_OPTS should contain 'com.sun.management.jmxremote.rmi.port' property. It is required for accessing the JMX metrics externally."
  fi
fi

dub template "/etc/confluent/docker/${COMPONENT}.properties.template" "/etc/kafka/${COMPONENT}.properties"
dub template "/etc/confluent/docker/log4j.properties.template" "/etc/kafka/log4j.properties"
dub template "/etc/confluent/docker/tools-log4j.properties.template" "/etc/kafka/tools-log4j.properties"


ZK_REPLICAS=${ZOOKEEPER_REPLICAS:-1}
HOST=$(hostname -s)
DOMAIN=$(hostname -d)
ZK_SERVER_PORT=${ZOOKEEPER_SERVER_PORT:-2888}
ZK_ELECTION_PORT=${ZOOKEEPER_ELECTION_PORT:-3888}

function print_servers() {
   if [[ $HOST =~ (.*)-([0-9]+)$ ]]; then
        NAME=${BASH_REMATCH[1]}
        for (( i=1; i<=$ZK_REPLICAS; i++ ))
    do
        echo "server.$i=$NAME-$((i-1)).$DOMAIN:$ZK_SERVER_PORT:$ZK_ELECTION_PORT"
    done
  
    fi
}


if [ $ZK_REPLICAS -gt 1 ]; then
print_servers >> /etc/kafka/${COMPONENT}.properties
fi

if [ -d /var/lib/zookeeper/data/version-2 ]; then
          echo "API Keys already loaded";
          else
          cp -var /tmp/zookeeper/gerrit/oom-topics/data-zookeeper/* /var/lib/zookeeper/data/;
          rm -rf /tmp/zookeeper/gerrit;
          echo "Copying API Keys completed.";
     fi