我在一组Docker容器中使用Confluent 3.2,其中一个正在运行kafka-connect worker。
由于我不清楚的原因,我的四个连接器中的两个-具体地说,hpgraphsl的MongoDB sink connector-停止工作。我能够确定主要问题:连接器未分配任何任务,可以通过调用GET /connectors/{my_connector}/status
看到。其他两个连接器(相同类型)没有受到影响,并且很高兴产生输出。
我尝试了三种不同的方法来使我的连接器通过REST API重新运行:
没有一种方法有效。我终于通过以下方法使连接器再次工作:
my_connector_v2
而不是my_connector
这里发生了什么?为什么我不能重新启动现有的连接器并使其启动实际任务?是否需要清除有关kafka-connect的工作程序或有关Kafka代理的与kafka-connect相关的主题中的任何过时数据?
我在特定连接器的github存储库上有filed an issue,但是我觉得这实际上可能是与kafka-connect内在函数有关的一般错误。有任何想法吗?
最佳答案
我已经遇到了这个问题。如果启动SinkTask或SourceTask的资源较少,则可能发生这种情况。
分配给工作程序的内存可能会少一些时间。默认情况下,为工作人员分配250MB。请增加这个。下面是为在分布式模式下运行的工作程序分配2GB内存的示例。
KAFKA_HEAP_OPTS =“-Xmx2G” sh $ KAFKA_SERVICE_HOME / connect-distributed $ KAFKA_CONFIG_HOME / connect-avro-distributed.properties
关于mongodb - Kafka接收器连接器:即使重新启动也未分配任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43254567/