我有一个Kafka Connect在一个集群(3个节点(中工作,有一个连接器(主题->S3(,一切都很好:
root@dev-kafka1 ~]# curl localhost:8083/connectors/s3-postgres/status | jq -r
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 219 100 219 0 0 36384 0 --:--:-- --:--:-- --:--:-- 43800
{
"name": "s3-postgres",
"connector": {
"state": "RUNNING",
"worker_id": "127.0.0.1:8083"
},
"tasks": [
{
"state": "RUNNING",
"id": 0,
"worker_id": "127.0.0.1:8083"
},
{
"state": "RUNNING",
"id": 1,
"worker_id": "127.0.0.1:8083"
}
],
"type": "sink"
}
但当我创建另一个连接器时,任务状态总是这样:
[root@dev-kafka1 ~]# curl localhost:8083/connectors/s3-postgres6/status | jq -r
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 109 100 109 0 0 14347 0 --:--:-- --:--:-- --:--:-- 15571
{
"name": "s3-postgres6",
"connector": {
"state": "RUNNING",
"worker_id": "127.0.0.1:8083"
},
"tasks": [],
"type": "sink"
}
我不知道为什么我在配置中做错了,同一插件的两个连接器不能一起工作,如果我停止运行正常的连接器#1,重新启动后的连接器#2,工作正常。有人知道我应该更改配置吗?
如果不搜索日志,甚至可能临时将日志更改为调试详细信息,很难说问题到底出在哪里,但根据连接器属性的不同,Kafka Connect可能会非常占用内存。
因此,我建议在Kafka代理的独立机器上运行Connect本身,并通过导出KAFKA_HEAP_OPTS
变量允许Connect占用更多的堆大小(在最新版本中默认为2g(