This repository has been archived by the owner on Nov 18, 2021. It is now read-only.
forked from vdesabou/kafka-docker-playground
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconnect-sasl-plain.sh
executable file
·79 lines (66 loc) · 4.64 KB
/
connect-sasl-plain.sh
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
#!/bin/bash
set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
source ${DIR}/../../scripts/utils.sh
${DIR}/../../environment/mdc-sasl-plain/start.sh "${PWD}/docker-compose.sasl-plain.yml"
log "Sending sales in Europe cluster"
seq -f "european_sale_%g ${RANDOM}" 10 | docker container exec -i broker-europe kafka-console-producer --broker-list localhost:9092 --topic sales_EUROPE --producer.config /etc/kafka/client.properties
log "Sending sales in US cluster"
seq -f "us_sale_%g ${RANDOM}" 10 | docker container exec -i broker-us kafka-console-producer --broker-list localhost:9092 --topic sales_US --producer.config /etc/kafka/client.properties
log "Consolidating all sales in the US"
docker container exec connect-us \
curl -X PUT \
-H "Content-Type: application/json" \
--data '{
"connector.class":"io.confluent.connect.replicator.ReplicatorSourceConnector",
"key.converter": "io.confluent.connect.replicator.util.ByteArrayConverter",
"value.converter": "io.confluent.connect.replicator.util.ByteArrayConverter",
"header.converter": "io.confluent.connect.replicator.util.ByteArrayConverter",
"src.consumer.group.id": "replicate-europe-to-us",
"src.kafka.bootstrap.servers": "broker-europe:9092",
"src.kafka.security.protocol" : "SASL_PLAINTEXT",
"src.kafka.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"client\" password=\"client-secret\";",
"src.kafka.sasl.mechanism": "PLAIN",
"dest.kafka.bootstrap.servers": "broker-us:9092",
"dest.kafka.security.protocol" : "SASL_PLAINTEXT",
"dest.kafka.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"client\" password=\"client-secret\";",
"dest.kafka.sasl.mechanism": "PLAIN",
"confluent.topic.replication.factor": 1,
"confluent.topic.security.protocol" : "SASL_PLAINTEXT",
"confluent.topic.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"client\" password=\"client-secret\";",
"confluent.topic.sasl.mechanism": "PLAIN",
"provenance.header.enable": true,
"topic.whitelist": "sales_EUROPE"
}' \
http://localhost:8083/connectors/replicate-europe-to-us/config | jq .
log "Consolidating all sales in Europe"
docker container exec connect-europe \
curl -X PUT \
-H "Content-Type: application/json" \
--data '{
"connector.class":"io.confluent.connect.replicator.ReplicatorSourceConnector",
"key.converter": "io.confluent.connect.replicator.util.ByteArrayConverter",
"value.converter": "io.confluent.connect.replicator.util.ByteArrayConverter",
"header.converter": "io.confluent.connect.replicator.util.ByteArrayConverter",
"src.consumer.group.id": "replicate-us-to-europe",
"src.kafka.bootstrap.servers": "broker-us:9092",
"src.kafka.security.protocol" : "SASL_PLAINTEXT",
"src.kafka.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"client\" password=\"client-secret\";",
"src.kafka.sasl.mechanism": "PLAIN",
"dest.kafka.bootstrap.servers": "broker-europe:9092",
"dest.kafka.security.protocol" : "SASL_PLAINTEXT",
"dest.kafka.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"client\" password=\"client-secret\";",
"dest.kafka.sasl.mechanism": "PLAIN",
"confluent.topic.replication.factor": 1,
"confluent.topic.security.protocol" : "SASL_PLAINTEXT",
"confluent.topic.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"client\" password=\"client-secret\";",
"confluent.topic.sasl.mechanism": "PLAIN",
"provenance.header.enable": true,
"topic.whitelist": "sales_US"
}' \
http://localhost:8083/connectors/replicate-us-to-europe/config | jq .
sleep 120
log "Verify we have received the data in all the sales_ topics in EUROPE"
docker container exec broker-europe kafka-console-consumer --bootstrap-server localhost:9092 --whitelist "sales_.*" --from-beginning --max-messages 20 --property metadata.max.age.ms 30000 --consumer.config /etc/kafka/client.properties
log "Verify we have received the data in all the sales_ topics in the US"
docker container exec broker-us kafka-console-consumer --bootstrap-server localhost:9092 --whitelist "sales_.*" --from-beginning --max-messages 20 --property metadata.max.age.ms 30000 --consumer.config /etc/kafka/client.properties