Kafka Connect实施错误

时间:2016-02-18 03:52:00

标签: java apache-kafka

我在这里完成了教程: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

我花了一些时间寻找解决方案,但无法找到任何有用的东西。任何帮助表示赞赏。

谢谢!

4 个答案:

答案 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

从这里开始:https://mail-archives.apache.org/mod_mbox/kafka-users/201601.mbox/%3CCAK0BMEpgWmL93wgm2jVCKbUT5rAZiawzOroTFc_A6Q=GaXQgfQ@mail.gmail.com%3E

答案 2 :(得分:1)

在运行该行之前,您需要先启动zookeeper和kafka服务器。

启动zookeeper

bin/zookeeper-server-start.sh config/zookeeper.properties

启动多个kafka服务器

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