两个(Kafka)S3连接器无法同时工作

时间:2018-11-24 20:21:17

标签: apache-kafka apache-kafka-connect kafka-cluster

我有一个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可以正常工作。有谁知道我应该在配置中更改的内容?

1 个答案:

答案 0 :(得分:0)

很难说出不搜索日志就可能是什么问题,甚至可能临时更改日志以调试详细信息,但是根据连接器的属性,Kafka Connect可能会非常消耗内存。

因此,我建议在与Kafka代理隔离的计算机上运行Connect本身,并通过导出KAFKA_HEAP_OPTS变量

来允许Connect占用更多的堆大小(最新版本中的默认值为2g)。