我有一个Kafka Connect,它在具有1个连接器(主题-> S3)的集群(3个节点)中工作,一切都很好:
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可以正常工作。有谁知道我应该在配置中更改的内容?
答案 0 :(得分:0)
很难说出不搜索日志就可能是什么问题,甚至可能临时更改日志以调试详细信息,但是根据连接器的属性,Kafka Connect可能会非常消耗内存。
因此,我建议在与Kafka代理隔离的计算机上运行Connect本身,并通过导出KAFKA_HEAP_OPTS
变量