Skip to content

Commit 4a16d4f

Browse files
authored
Merge pull request #34 from Yolean/zookeeper-availability-zones
Suggest a mix of persistent and ephemeral data to improve reliability across zones
2 parents 26173af + cb83353 commit 4a16d4f

File tree

5 files changed

+87
-8
lines changed

5 files changed

+87
-8
lines changed

zookeeper/10zookeeper-config.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ data:
1111
clientPort=2181
1212
initLimit=5
1313
syncLimit=2
14-
server.1=zoo-0.zoo:2888:3888:participant
15-
server.2=zoo-1.zoo:2888:3888:participant
16-
server.3=zoo-2.zoo:2888:3888:participant
17-
server.4=zoo-3.zoo:2888:3888:participant
18-
server.5=zoo-4.zoo:2888:3888:participant
14+
server.1=pzoo-0.pzoo:2888:3888:participant
15+
server.2=pzoo-1.pzoo:2888:3888:participant
16+
server.3=pzoo-2.pzoo:2888:3888:participant
17+
server.4=zoo-0.zoo:2888:3888:participant
18+
server.5=zoo-1.zoo:2888:3888:participant
1919
2020
log4j.properties: |-
2121
log4j.rootLogger=INFO, stdout

zookeeper/20pzoo-service.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: pzoo
5+
namespace: kafka
6+
spec:
7+
ports:
8+
- port: 2888
9+
name: peer
10+
- port: 3888
11+
name: leader-election
12+
clusterIP: None
13+
selector:
14+
app: zookeeper
15+
storage: persistent

zookeeper/20zoo-service.yml renamed to zookeeper/21zoo-service.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ spec:
1212
clusterIP: None
1313
selector:
1414
app: zookeeper
15+
storage: ephemeral

zookeeper/50zoo.yml renamed to zookeeper/50pzoo.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
apiVersion: apps/v1beta1
22
kind: StatefulSet
33
metadata:
4-
name: zoo
4+
name: pzoo
55
namespace: kafka
66
spec:
7-
serviceName: "zoo"
8-
replicas: 5
7+
serviceName: "pzoo"
8+
replicas: 3
99
template:
1010
metadata:
1111
labels:
1212
app: zookeeper
13+
storage: persistent
1314
annotations:
1415
prometheus.io/scrape: "true"
1516
prometheus.io/port: "5556"

zookeeper/51zoo.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
apiVersion: apps/v1beta1
2+
kind: StatefulSet
3+
metadata:
4+
name: zoo
5+
namespace: kafka
6+
spec:
7+
serviceName: "zoo"
8+
replicas: 2
9+
template:
10+
metadata:
11+
labels:
12+
app: zookeeper
13+
storage: ephemeral
14+
annotations:
15+
prometheus.io/scrape: "true"
16+
prometheus.io/port: "5556"
17+
spec:
18+
terminationGracePeriodSeconds: 10
19+
containers:
20+
- name: metrics
21+
image: solsson/kafka-prometheus-jmx-exporter@sha256:1f7c96c287a2dbec1d909cd8f96c0656310239b55a9a90d7fd12c81f384f1f7d
22+
command:
23+
- "java"
24+
- "-jar"
25+
- "jmx_prometheus_httpserver.jar"
26+
- "5556"
27+
- example_configs/zookeeper.yaml
28+
ports:
29+
- containerPort: 5556
30+
- name: zookeeper
31+
image: solsson/kafka:0.11.0.0-rc2@sha256:c1316e0131f4ec83bc645ca2141e4fda94e0d28f4fb5f836e15e37a5e054bdf1
32+
env:
33+
- name: JMX_PORT
34+
value: "5555"
35+
command:
36+
- sh
37+
- -c
38+
- >
39+
set -e;
40+
export ZOOKEEPER_SERVER_ID=$((${HOSTNAME##*-} + 4));
41+
echo "${ZOOKEEPER_SERVER_ID:-1}" | tee /var/lib/zookeeper/data/myid;
42+
sed -i "s/server\.$ZOOKEEPER_SERVER_ID\=[a-z0-9.-]*/server.$ZOOKEEPER_SERVER_ID=0.0.0.0/" config/zookeeper.properties;
43+
cat config/zookeeper.properties;
44+
./bin/zookeeper-server-start.sh config/zookeeper.properties
45+
ports:
46+
- containerPort: 2181
47+
name: client
48+
- containerPort: 2888
49+
name: peer
50+
- containerPort: 3888
51+
name: leader-election
52+
volumeMounts:
53+
- name: config
54+
mountPath: /usr/local/kafka/config
55+
- name: data
56+
mountPath: /var/lib/zookeeper/data
57+
volumes:
58+
- name: config
59+
configMap:
60+
name: zookeeper-config
61+
- name: data
62+
emptyDir: {}

0 commit comments

Comments
 (0)