Можно ли реплицировать уже реплицированную тему Kafka на другие кластеры? - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть 3 Kafka Cluster, и я скопировал тему в другом Clsuter.Тема кластера 1 "test"

Кластер 2 test.replica .. Я реплицировал эту тему в кластере 3, но когда я отправляю данные в тему "test", я могу читать данные только из темы "test.replica"."тема test.replica.replica кажется пустой

кластер 3 test.replica.replica

Соединитель

{
    "name":"test-z1-z2",
    "config":{
            "connector.class":"io.confluent.connect.replicator.ReplicatorSourceConnector",
            "tasks.max":"4",
            "key.converter":"io.confluent.connect.replicator.util.ByteArrayConverter",
            "value.converter":"io.confluent.connect.replicator.util.ByteArrayConverter",
            "src.kafka.bootstrap.servers":"localhost:9092",
            "src.zookeeper.connect":"localhost:2181",
            "dest.zookeeper.connect":"localhost:2182",
            "topic.whitelist":"test",
            "topic.rename.format":"test.replica",
            "confluent.license":""
    }
}

{
        "name":"test-z2-z3",
        "config":{
                "connector.class":"io.confluent.connect.replicator.ReplicatorSourceConnector",
                "tasks.max":"4",
                "key.converter":"io.confluent.connect.replicator.util.ByteArrayConverter",
                "value.converter":"io.confluent.connect.replicator.util.ByteArrayConverter",
                "src.kafka.bootstrap.servers":"localhost:9093",
                "src.zookeeper.connect":"localhost:2182",
                "dest.zookeeper.connect":"localhost:2183",
                "topic.whitelist":"test.replica",
                "topic.rename.format":"test.replica.replica",
                "confluent.license":""
        }
}

Кластер 1

[root@localhost bin]# ./kafka-topics --list --zookeeper localhost:2181
__confluent.support.metrics
__consumer_offsets
__consumer_timestamps
test

Кластер 2

[root@localhost bin]# ./kafka-topics --list --zookeeper localhost:2182
__confluent.support.metrics
__consumer_offsets
test.replica
[root@localhost bin]# 
[root@localhost bin]# ./kafka-topics --list --zookeeper localhost:2183
__confluent.support.metrics
__consumer_offsets
test.replica.replica

Данные о продукции

[root@localhost bin]# seq 10 | ./kafka-console-producer --broker-list localhost:9092 --topic test
>>>>>>>>>>>

Использование реплики

[root@localhost bin]# ./kafka-console-consumer --bootstrap-server localhost:9093 --topic test.replica
1
2
3
4
5
6
7
8
9
10

Попытка другой реплики

[root@localhost bin]# ./kafka-console-consumer --bootstrap-server localhost:9094 --topic test.replica.replica

(no Data)

Я хочу отправить данные в один кластер и оттуда повторить их снова через другие кластеры.

1 Ответ

0 голосов
/ 08 февраля 2019

Возможно, реплицированные данные уже поступили в брокер, и вы указываете на последние смещения.

Вы можете добавить --from-beginning для потребления с начальных смещений.

Настоящей проверкой было бы использование OffsetShell для просмотра фактических смещений темы.Кроме того, тема назначения была создана правильно, поэтому репликатор по крайней мере работает над этой частью.

Также не ясно, являются ли ваши коннекторы коннектора частью того же кластера Connect.Вы используете connect-disributed на разных портах, с разными bootstrap.servers?

...