使用 Kafka Connect Distributed 创建连接器返回 500 错误
Creating a connector with Kafka Connect Distributed returning 500 error
我正在努力从 Camus 迁移到 Kafka Connect。我正在研究 Kafka Connect 的实现,特别关注分布式模式。我能够在我假设与我的 Kafka 集群通信的本地机器上成功启动一个 worker。我还能够 运行 两个 GET 命令,例如 /
和 /connector-plugins
,其中 return 是正确的 JSON。但是,当我尝试 POST 创建连接器的命令时,我收到 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 分布式工作者和连接器连接到 运行 的分步文档或博客文章?我还没有真正看到任何甚至最佳实践类型的文档?也许我太早采用了。
我期待收到社区的回音,感谢您的帮助!
我能够解决这个问题。我的客户端和集群上都是 运行 Confluent Platform 3.0.1。我将我的集群升级到 Confluent Platform 3.1.1,并将我的客户端升级到新版本。我能够启动集群。此外,您可以通过阅读 Kafka 用户组中关于同一问题的此线程来了解有关调试 Kafka Connect 的更多信息:
希望对其他人有所帮助。
我正在努力从 Camus 迁移到 Kafka Connect。我正在研究 Kafka Connect 的实现,特别关注分布式模式。我能够在我假设与我的 Kafka 集群通信的本地机器上成功启动一个 worker。我还能够 运行 两个 GET 命令,例如 /
和 /connector-plugins
,其中 return 是正确的 JSON。但是,当我尝试 POST 创建连接器的命令时,我收到 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 分布式工作者和连接器连接到 运行 的分步文档或博客文章?我还没有真正看到任何甚至最佳实践类型的文档?也许我太早采用了。
我期待收到社区的回音,感谢您的帮助!
我能够解决这个问题。我的客户端和集群上都是 运行 Confluent Platform 3.0.1。我将我的集群升级到 Confluent Platform 3.1.1,并将我的客户端升级到新版本。我能够启动集群。此外,您可以通过阅读 Kafka 用户组中关于同一问题的此线程来了解有关调试 Kafka Connect 的更多信息:
希望对其他人有所帮助。