【发布时间】:2017-11-28 20:28:18
【问题描述】:
我正在尝试使用 Kafka 连接以使用独立模式写入数据。我正在向其中写入数据的主题是有多个分区。但是,数据仅写入其中一个分区。当我启动多个消费者控制台时,数据仅打印到其中一个。另一个消费者控制台只有在第一个控制台关闭后才能获得任何数据。我无法弄清楚我需要在配置文件中进行哪些更改才能使其写入多个分区。
这里是standalone.properties
bootstrap.servers=localhost:9092
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=true
value.converter.schemas.enable=true
internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false
offset.storage.file.filename=/tmp/connect.offsets
offset.flush.interval.ms=1000
rest.port=8084
连接文件源.properties:
name=local-file-source
connector.class=FileStreamSource
tasks.max=1
file=test4.txt
topic=consumer_group
现在我使用以下命令来运行连接器:
bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties
使用以下命令启动消费者控制台:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic consumer_group --from-beginning --consumer-property group.id=new-consumer-group
它只将数据打印到其中一个消费者控制台。但是,如果我使用生产者控制台而不是 Kafka 连接来编写消息,那么我可以看到多个消费者(以循环方式)的消息,这是应该的方式。但是使用 Kafka 连接,它只是将所有数据写入单个分区,同一组中的其他消费者必须处于空闲状态。需要更改哪些内容才能写入轮询系统中的所有分区?
【问题讨论】:
标签: apache-kafka apache-kafka-connect