我可以在其他集群之间复制已经复制的Kafka主题吗?

时间:2019-02-07 18:39:33

标签: apache-kafka replication confluent

我有3个Kafka群集,并且已在其他Clsuter中复制了一个主题。 群集1的主题“测试”

集群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 :(得分:0)

复制的数据可能已经到达代理,并且您指向的是最新的偏移量。

您可以添加--from-beginning以从起始偏移量开始消耗。

真正的检查是使用OffsetShell查看主题的实际偏移量。此外,目标主题已正确创建,因此复制器至少正在该部分上工作。

还不清楚您的连接器配置是否属于同一Connect群集。您要在connect-disributed的不同端口上运行bootstrap.servers吗?