kafka连接接收器连接器属性中的多个主题

时间:2018-02-23 06:26:31

标签: apache-kafka apache-kafka-connect confluent-kafka

我正在尝试使用Cassandra接收器读取2个kafka主题并插入2个Cassandra表。我怎么能这样做呢?

这是我的connector.properties文件:

name=cassandra-sink-orders
connector.class=com.datamountaineer.streamreactor.connect.cassandra.sink.CassandraSinkConnector
tasks.max=1
topics=topic1,topic2
connect.cassandra.kcql=INSERT INTO ks.table1 SELECT * FROM topic1;INSERT INTO ks.table2 SELECT * FROM topic2 
connect.cassandra.contact.points=localhost
connect.cassandra.port=9042
connect.cassandra.key.space=ks
connect.cassandra.contact.points=localhost
connect.cassandra.username=cassandra
connect.cassandra.password=cassandra

我做得对吗?这是最好的方法,还是应该创建两个独立的连接器?

2 个答案:

答案 0 :(得分:2)

如果您想在一个消费者中使用这两个主题,那就没问题了,这是正确的设置。这样做的最佳方式取决于这些消息是由一个还是两个消费者使用。所以这取决于你的业务逻辑。

无论如何,如果你想通过一个消费者使用两个主题,那么应该可以找到,因为消费者可以订阅多个主题。你尝试过这个消费者吗?它有效吗?

答案 1 :(得分:0)

您的配置存在一个问题。每个主题分区需要一项任务。因此,如果您的主题有一个分区,则需要将tasks.max设置为至少2。

我没有在Connect的文档中看到它,这很可惜