diff options
Diffstat (limited to 'src/main/docker/include/etc/confluent/docker/configure')
-rw-r--r-- | src/main/docker/include/etc/confluent/docker/configure | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/main/docker/include/etc/confluent/docker/configure b/src/main/docker/include/etc/confluent/docker/configure new file mode 100644 index 0000000..74e1c11 --- /dev/null +++ b/src/main/docker/include/etc/confluent/docker/configure @@ -0,0 +1,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 + + |