@@ -8,16 +8,18 @@ services:
8
8
container_name : ' ziggurat_rabbitmq'
9
9
10
10
zookeeper :
11
- image : zookeeper:3.4.9
11
+ image : confluentinc/cp- zookeeper:5.5.0
12
12
hostname : zookeeper
13
13
ports :
14
14
- " 2181:2181"
15
15
environment :
16
- ZOO_MY_ID : 1
17
- ZOO_PORT : 2181
18
- ZOO_SERVERS : server.1=zookeeper:2888:3888
19
- ZOO_TICK_TIME : 2000
16
+ ZOOKEEPER_CLIENT_PORT : 2181
17
+ KAFKA_OPTS : " -Djava.security.auth.login.config=/etc/kafka/zookeeper_server_jaas.conf
18
+ -Dzookeeper.authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
19
+ -Dzookeeper.allowSaslFailedClients=true
20
+ -Dzookeeper.requireClientAuthScheme=sasl"
20
21
volumes :
22
+ - ./zookeeper_server_jaas.conf:/etc/kafka/zookeeper_server_jaas.conf
21
23
- /tmp/ziggurat_kafka_cluster_data/zookeeper/data:/data
22
24
- /tmp/ziggurat_kafka_cluster_data/zookeeper/datalog:/datalog
23
25
@@ -28,17 +30,32 @@ services:
28
30
- SYS_ADMIN
29
31
hostname : kafka1
30
32
ports :
31
- - " 9091:9091"
33
+ - " 9094:9094"
34
+ - " 9095:9095"
32
35
environment :
33
- KAFKA_ADVERTISED_LISTENERS : LISTENER_DOCKER_INTERNAL://kafka1:19091 ,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9091
34
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
36
+ KAFKA_ADVERTISED_LISTENERS : LISTENER_DOCKER_INTERNAL://kafka1:19094 ,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9094,SASL_PLAINTEXT://${DOCKER_HOST_IP:-127.0.0.1}:9095
37
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT
35
38
KAFKA_INTER_BROKER_LISTENER_NAME : LISTENER_DOCKER_INTERNAL
36
- KAFKA_ZOOKEEPER_CONNECT : zookeeper:2181
39
+ KAFKA_ZOOKEEPER_CONNECT : " zookeeper:2181"
40
+ KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS : 60000
37
41
KAFKA_BROKER_ID : 1
38
42
KAFKA_DEFAULT_REPLICATION_FACTOR : 3
39
43
KAFKA_NUM_PARTITIONS : 3
44
+ KAFKA_SASL_ENABLED_MECHANISMS : SCRAM-SHA-256
45
+ KAFKA_SASL_JAAS_CONFIG : " org.apache.kafka.common.security.scram.ScramLoginModule required \
46
+ username=\" client\" \
47
+ password=\" client-secret\" ;"
48
+ KAFKA_AUTHORIZER_CLASS_NAME : kafka.security.auth.SimpleAclAuthorizer
49
+ KAFKA_SUPER_USERS : User:ANONYMOUS;User:admin
50
+ KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND : " false"
51
+ KAFKA_SECURITY_PROTOCOL : SASL_PLAINTEXT
52
+ KAFKA_OPTS : " -Djava.security.auth.login.config=/etc/kafka/secrets/kafka_server_jaas.conf -Dzookeeper.sasl.client=true -Dzookeeper.sasl.clientconfig=Client"
53
+ KAFKA_ZOOKEEPER_SET_ACL : " true"
54
+ KAFKA_ZOOKEEPER_SASL_ENABLED : " true"
40
55
volumes :
41
56
- /tmp/ziggurat_kafka_cluster_data/kafka1/data:/var/lib/kafka/data
57
+ - ./kafka_server_jaas.conf:/etc/kafka/secrets/kafka_server_jaas.conf
58
+ - ./config-admin.properties:/etc/kafka/secrets/config-admin.properties
42
59
depends_on :
43
60
- zookeeper
44
61
@@ -50,16 +67,29 @@ services:
50
67
hostname : kafka2
51
68
ports :
52
69
- " 9092:9092"
70
+ - " 9096:9096"
53
71
environment :
54
- KAFKA_ADVERTISED_LISTENERS : LISTENER_DOCKER_INTERNAL://kafka2:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
55
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
72
+ KAFKA_ADVERTISED_LISTENERS : LISTENER_DOCKER_INTERNAL://kafka2:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092,SASL_PLAINTEXT://${DOCKER_HOST_IP:-127.0.0.1}:9096
73
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT
56
74
KAFKA_INTER_BROKER_LISTENER_NAME : LISTENER_DOCKER_INTERNAL
57
- KAFKA_ZOOKEEPER_CONNECT : zookeeper:2181
75
+ KAFKA_ZOOKEEPER_CONNECT : " zookeeper:2181"
76
+ KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS : 60000
58
77
KAFKA_BROKER_ID : 2
59
78
KAFKA_DEFAULT_REPLICATION_FACTOR : 3
60
79
KAFKA_NUM_PARTITIONS : 3
80
+ KAFKA_SASL_ENABLED_MECHANISMS : SCRAM-SHA-256
81
+ KAFKA_SASL_JAAS_CONFIG : " org.apache.kafka.common.security.scram.ScramLoginModule required \
82
+ username=\" client\" \
83
+ password=\" client-secret\" ;"
84
+ KAFKA_AUTHORIZER_CLASS_NAME : kafka.security.auth.SimpleAclAuthorizer
85
+ KAFKA_SUPER_USERS : User:ANONYMOUS;User:admin
86
+ KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND : " false"
87
+ KAFKA_SECURITY_PROTOCOL : SASL_PLAINTEXT
88
+ KAFKA_OPTS : " -Djava.security.auth.login.config=/etc/kafka/secrets/kafka_server_jaas.conf"
61
89
volumes :
62
90
- /tmp/ziggurat_kafka_cluster_data/kafka2/data:/var/lib/kafka/data
91
+ - ./kafka_server_jaas.conf:/etc/kafka/secrets/kafka_server_jaas.conf
92
+ - ./config-admin.properties:/etc/kafka/secrets/config-admin.properties
63
93
depends_on :
64
94
- zookeeper
65
95
@@ -71,15 +101,28 @@ services:
71
101
hostname : kafka3
72
102
ports :
73
103
- " 9093:9093"
104
+ - " 9097:9097"
74
105
environment :
75
- KAFKA_ADVERTISED_LISTENERS : LISTENER_DOCKER_INTERNAL://kafka3:19093,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9093
76
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
106
+ KAFKA_ADVERTISED_LISTENERS : LISTENER_DOCKER_INTERNAL://kafka3:19093,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9093,SASL_PLAINTEXT://${DOCKER_HOST_IP:-127.0.0.1}:9097
107
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT
77
108
KAFKA_INTER_BROKER_LISTENER_NAME : LISTENER_DOCKER_INTERNAL
78
109
KAFKA_ZOOKEEPER_CONNECT : " zookeeper:2181"
110
+ KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS : 60000
79
111
KAFKA_BROKER_ID : 3
80
112
KAFKA_DEFAULT_REPLICATION_FACTOR : 3
81
113
KAFKA_NUM_PARTITIONS : 3
114
+ KAFKA_SASL_ENABLED_MECHANISMS : SCRAM-SHA-256
115
+ KAFKA_SASL_JAAS_CONFIG : " org.apache.kafka.common.security.scram.ScramLoginModule required \
116
+ username=\" client\" \
117
+ password=\" client-secret\" ;"
118
+ KAFKA_AUTHORIZER_CLASS_NAME : kafka.security.auth.SimpleAclAuthorizer
119
+ KAFKA_SUPER_USERS : User:ANONYMOUS;User:admin
120
+ KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND : " false"
121
+ KAFKA_SECURITY_PROTOCOL : SASL_PLAINTEXT
122
+ KAFKA_OPTS : " -Djava.security.auth.login.config=/etc/kafka/secrets/kafka_server_jaas.conf"
82
123
volumes :
83
124
- /tmp/ziggurat_kafka_cluster_data/kafka3/data:/var/lib/kafka/data
125
+ - ./kafka_server_jaas.conf:/etc/kafka/secrets/kafka_server_jaas.conf
126
+ - ./config-admin.properties:/etc/kafka/secrets/config-admin.properties
84
127
depends_on :
85
128
- zookeeper
0 commit comments