我在这里完成了教程:http://kafka.apache.org/documentation.html#introduction
当我进入“步骤7:使用Kafka Connect导入/导出数据”并尝试启动两个连接器时,我收到以下错误:
ERROR Failed to flush WorkerSourceTask{id=local-file-source-0}, timed out while waiting for producer to flush outstanding messages, 1 left
ERROR Failed to commit offsets for WorkerSourceTask
以下是教程的一部分:
接下来,我们将启动两个以独立模式运行的连接器,这意味着它们可以在一个本地专用进程中运行。我们提供三个配置文件作为参数。第一个始终是Kafka Connect流程的配置,包含常见配置,例如要连接的Kafka代理和数据的序列化格式。其余配置文件均指定要创建的连接器。这些文件包括唯一的连接器名称,要实例化的连接器类以及连接器所需的任何其他配置。
bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties
我花了一些时间寻找解决方案,但无法找到任何有用的东西。任何帮助表示赞赏。
谢谢!
答案 0 :(得分:6)
我收到此错误的原因是因为我使用config / server.properties创建的第一台服务器未运行。我假设因为它是主题的主角,消息无法刷新,并且无法提交偏移量。
使用服务器属性启动kafka服务器后(config / server.properties)此问题已解决。
答案 1 :(得分:4)
在运行Kafka Connect之前,您需要启动Kafka服务器和Zookeeper。 您需要在"中执行cmds;步骤2:启动服务器"首先是:
bin / zookeeper-server-start.sh config / zookeeper.properties
bin / kafka-server-start.sh config / server.properties
答案 2 :(得分:1)
在运行该行之前,您需要先启动zookeeper和kafka服务器。
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
bin/kafka-server-start.sh config/server-1.properties
bin/kafka-server-start.sh config/server-2.properties
bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties
然后你会看到一些行被写入test.sink.txt
:
foo
bar
你可以让消费者检查它:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning
{"schema":{"type":"string","optional":false},"payload":"foo"}
{"schema":{"type":"string","optional":false},"payload":"bar"}
答案 3 :(得分:0)
如果您使用my.sandbox.com
等主机名配置Kafka Broker,请确保相应地修改config/connect-standalone.properties
:
bootstrap.servers=my.sandbox.com:9092
在Hortonworks HDP上,默认端口为6667,因此设置为
bootstrap.servers=my.sandbox.com:6667
如果启用了Kerberos,您还需要以下设置(不使用SSL):
security.protocol=PLAINTEXTSASL
producer.security.protocol=PLAINTEXTSASL
producer.sasl.kerberos.service.name=kafka
consumer.security.protocol=PLAINTEXTSASL
consumer.sasl.kerberos.service.name=kafka