我正在努力从 Camus 迁移到 Kafka Connect。我正在研究 Kafka Connect 的实现,特别关注分布式模式。我能够在我假设与我的 Kafka 集群通信的本地机器上成功启动一个工作程序。我还能够运行两个 GET 命令,例如/
返回/connector-plugins
正确的 JSON。但是,当我尝试发布创建连接器的命令时,我收到 500 错误和超时。具体来说,我使用此命令 POST 进行测试:
curl -X POST -H "Content-Type: application/json" --data '{"name": "local-file-sink", "config": {"connector.class":"FileStreamSinkConnector", "tasks.max":"1", "file":"test.sink.txt", "topics":"myTopic" }}' localhost:8083/connectors
最终我得到了这个回应:
{"error_code": 500, "message": "Request timed out"}
我不知道发生了什么。我的 Kafka Connect 分布式工作人员的日志显示了这一点:
[2016-12-05 14:34:32,436] INFO 0:0:0:0:0:0:0:1 - - [05/Dec/2016:22:34:32 +0000] "GET /connector-plugins HTTP/1.1" 200 315 2 (org.apache.kafka.connect.runtime.rest.RestServer:60)
[2016-12-05 15:05:25,422] INFO 0:0:0:0:0:0:0:1 - - [05/Dec/2016:23:05:25 +0000] "GET /connector-plugins HTTP/1.1" 200 315 3 (org.apache.kafka.connect.runtime.rest.RestServer:60)
[2016-12-05 15:05:28,389] INFO 0:0:0:0:0:0:0:1 - - [05/Dec/2016:23:05:28 +0000] "GET /connector-plugins HTTP/1.1" 200 315 2 (org.apache.kafka.connect.runtime.rest.RestServer:60)
[2016-12-05 15:07:38,644] INFO 0:0:0:0:0:0:0:1 - - [05/Dec/2016:23:06:08 +0000] "GET /connectors HTTP/1.1" 500 48 90003 (org.apache.kafka.connect.runtime.rest.RestServer:60)
[2016-12-05 15:07:44,450] INFO 0:0:0:0:0:0:0:1 - - [05/Dec/2016:23:07:44 +0000] "GET /connector-plugins HTTP/1.1" 200 315 1 (org.apache.kafka.connect.runtime.rest.RestServer:60)
[2016-12-05 15:13:06,703] INFO 0:0:0:0:0:0:0:1 - - [05/Dec/2016:23:11:36 +0000] "POST /connectors HTTP/1.1" 500 48 90003 (org.apache.kafka.connect.runtime.rest.RestServer:60)
[2016-12-05 15:15:38,506] INFO 0:0:0:0:0:0:0:1 - - [05/Dec/2016:23:14:08 +0000] "POST /connectors HTTP/1.1" 500 48 90005 (org.apache.kafka.connect.runtime.rest.RestServer:60)
您可以在其中查看错误代码和命令。
我想我的主要问题和问题是:
- 我怎样才能更好地调试 Kafka Connect,以便我可以尝试解决这个问题?
- 我正在做的事情有什么明显错误的吗?
- 是否有关于让 Kafka Connect 分布式工作程序和连接器运行的分步文档或博客文章?我还没有真正看到任何甚至最佳实践类型的文档?也许我只是太早的采用者。
我期待收到社区的回复,并感谢您的帮助!