update kafka, add 2.1.1, 2.2.0, update README

This commit is contained in:
Newnius 2019-04-15 20:24:13 +08:00
parent fed0d6a0e9
commit 0a000bdcd9
7 changed files with 200 additions and 1 deletions

View File

@ -1,4 +1,33 @@
TBD
# deploy kafka with docker
## docker swarm
```bash
docker service create \
--name kafka_1 \
--hostname=kafka_1 \
--network swarm-net \
--replicas 1 \
--detach=true \
--env BROKER_ID=1 \
--env ZOOKEEPER_CONNECT=zookeeper_node1:2181,zookeeper_node2:2181,zookeeper_node3:2181 \
--endpoint-mode dnsrr \
newnius/kafka:2.1.0
```
## Configuration
### By environment variable
Currently, properties below are supported.
| env | file | property |
| --- | --- | --- |
| BROKER_ID | server.properties | broker.id |
| ZOOKEEPER_CONNECT | server.properties | zookeeper.connect |
### By configuration file
```bash
docker service create \
@ -8,5 +37,7 @@ docker service create \
--detach=true \
--replicas 1 \
--endpoint-mode dnsrr \
--mount type=bind,src=/data/kafka/,dst=/config/kafka/,readonly \
newnius/kafka:2.1.0
```

20
kafka/2.1.1/Dockerfile Normal file
View File

@ -0,0 +1,20 @@
FROM openjdk:8-jre-alpine
MAINTAINER Newnius <newnius.cn@gmail.com>
# Prerequisites
RUN apk add --no-cache bash
# Install Kafka
RUN wget -O kafka.tgz https://archive.apache.org/dist/kafka/2.1.1/kafka_2.12-2.1.1.tgz && \
tar -xzf kafka.tgz -C /usr/local/ && rm kafka.tgz
RUN ln -s /usr/local/kafka_2.12-2.1.1 /usr/local/kafka
ENV KAFKA_HOME /usr/local/kafka
WORKDIR $KAFKA_HOME
ADD start_kafka.sh /etc/start_kafka.sh
CMD ["/etc/start_kafka.sh"]

43
kafka/2.1.1/README.md Normal file
View File

@ -0,0 +1,43 @@
# deploy kafka with docker
## docker swarm
```bash
docker service create \
--name kafka_1 \
--hostname=kafka_1 \
--network swarm-net \
--replicas 1 \
--detach=true \
--env BROKER_ID=1 \
--env ZOOKEEPER_CONNECT=zookeeper_node1:2181,zookeeper_node2:2181,zookeeper_node3:2181 \
--endpoint-mode dnsrr \
newnius/kafka:2.1.1
```
## Configuration
### By environment variable
Currently, properties below are supported.
| env | file | property |
| --- | --- | --- |
| BROKER_ID | server.properties | broker.id |
| ZOOKEEPER_CONNECT | server.properties | zookeeper.connect |
### By configuration file
```bash
docker service create \
--name kafka \
--hostname=kafka \
--network swarm-net \
--detach=true \
--replicas 1 \
--endpoint-mode dnsrr \
--mount type=bind,src=/data/kafka/,dst=/config/kafka/,readonly \
newnius/kafka:2.1.1
```

21
kafka/2.1.1/start_kafka.sh Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
: ${EXTRA_CONF_DIR:=/config/kafka}
## Overide default configuration files
if [ -d "$EXTRA_CONF_DIR" ]; then
cp $EXTRA_CONF_DIR/* /usr/local/kafka/config
fi
if ! [[ -z "${BROKER_ID}" ]]; then
sed -i '/broker.id=/d' /usr/local/kafka/config/server.properties
echo "broker.id=$BROKER_ID" >> /usr/local/kafka/config/server.properties
fi
if ! [[ -z "${ZOOKEEPER_CONNECT}" ]]; then
sed -i '/zookeeper.connect=/d' /usr/local/kafka/config/server.properties
echo "zookeeper.connect=$ZOOKEEPER_CONNECT" >> /usr/local/kafka/config/server.properties
fi
bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties

20
kafka/2.2.0/Dockerfile Normal file
View File

@ -0,0 +1,20 @@
FROM openjdk:8-jre-alpine
MAINTAINER Newnius <newnius.cn@gmail.com>
# Prerequisites
RUN apk add --no-cache bash
# Install Kafka
RUN wget -O kafka.tgz https://archive.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz && \
tar -xzf kafka.tgz -C /usr/local/ && rm kafka.tgz
RUN ln -s /usr/local/kafka_2.12-2.2.0 /usr/local/kafka
ENV KAFKA_HOME /usr/local/kafka
WORKDIR $KAFKA_HOME
ADD start_kafka.sh /etc/start_kafka.sh
CMD ["/etc/start_kafka.sh"]

43
kafka/2.2.0/README.md Normal file
View File

@ -0,0 +1,43 @@
# deploy kafka with docker
## docker swarm
```bash
docker service create \
--name kafka_1 \
--hostname=kafka_1 \
--network swarm-net \
--replicas 1 \
--detach=true \
--env BROKER_ID=1 \
--env ZOOKEEPER_CONNECT=zookeeper_node1:2181,zookeeper_node2:2181,zookeeper_node3:2181 \
--endpoint-mode dnsrr \
newnius/kafka:2.2.0
```
## Configuration
### By environment variable
Currently, properties below are supported.
| env | file | property |
| --- | --- | --- |
| BROKER_ID | server.properties | broker.id |
| ZOOKEEPER_CONNECT | server.properties | zookeeper.connect |
### By configuration file
```bash
docker service create \
--name kafka \
--hostname=kafka \
--network swarm-net \
--detach=true \
--replicas 1 \
--endpoint-mode dnsrr \
--mount type=bind,src=/data/kafka/,dst=/config/kafka/,readonly \
newnius/kafka:2.2.0
```

21
kafka/2.2.0/start_kafka.sh Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
: ${EXTRA_CONF_DIR:=/config/kafka}
## Overide default configuration files
if [ -d "$EXTRA_CONF_DIR" ]; then
cp $EXTRA_CONF_DIR/* /usr/local/kafka/config
fi
if ! [[ -z "${BROKER_ID}" ]]; then
sed -i '/broker.id=/d' /usr/local/kafka/config/server.properties
echo "broker.id=$BROKER_ID" >> /usr/local/kafka/config/server.properties
fi
if ! [[ -z "${ZOOKEEPER_CONNECT}" ]]; then
sed -i '/zookeeper.connect=/d' /usr/local/kafka/config/server.properties
echo "zookeeper.connect=$ZOOKEEPER_CONNECT" >> /usr/local/kafka/config/server.properties
fi
bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties