融合的 kafka 到 s3 连接失败,出现错误 线程 [KafkaBasedLog Work Thread -.



我在EC2上设置了从kafka读取并写入S3的融合(4.0)连接器。

独立尝试进展顺利:

bin/connect-standalone etc/standalone/example-connect-worker.properties etc/standalone/example-connect-s3-sink.properties

但是,分布式版本一直失败

[2018-01-30 21:26:05,860] ERROR Unexpected exception in Thread[KafkaBasedLog Work Thread - connect-configs,5,main] (org.apache.kafka.connect.util.KafkaBasedLog:334)
java.lang.IllegalStateException: Consumer is not subscribed to any topics or assigned any partitions
	at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1097)
	at org.apache.kafka.connect.util.KafkaBasedLog.poll(KafkaBasedLog.java:256)
	at org.apache.kafka.connect.util.KafkaBasedLog.access$500(KafkaBasedLog.java:69)
	at org.apache.kafka.connect.util.KafkaBasedLog$WorkThread.run(KafkaBasedLog.java:327)

我只是想第一次使用连接器类等于文件流接收器连接器

接收器 conf 文件如下所示:

name=local-file-sink
#connector.class=FileStreamSink
connector.class=org.apache.kafka.connect.file.FileStreamSinkConnector
tasks.max=1
file=test.sink.txt
topics=tests3
s3.bucket=tests3
s3.prefix=tests3
s3.endpoint=http://localhost:9090
s3.path_style=true
local.buffer.dir=/tmp/connect-system-test

多谢!

使用./bin/connect-distributed启动分布式 Connect 工作线程时,只能通过命令行提供工作线程的属性。

若要通过将连接器的配置发布到辅助角色的 REST 终结点来加载连接器,可以使用curl或等效命令。

例如:

curl -X POST -H "Content-Type: application/json" --data @config.json http://localhost:8083/connectors

其中config.json是包含连接器属性的文件。

更多信息在这里: https://docs.confluent.io/current/connect/managing.html#distributed-example

最新更新