kafka-connect

Kafka Connect 连接器管理

补充说明

Kafka Connect 是 Kafka 的数据集成框架,用连接器在外部系统和 topic 之间搬运数据。分布式模式通过 REST API 管理连接器和任务。

常用示例

connect-distributed.sh config/connect-distributed.properties
curl -s http://connect:8083/connector-plugins
curl -s http://connect:8083/connectors
curl -s http://connect:8083/connectors/jdbc-source/status
curl -X POST http://connect:8083/connectors \
  -H 'Content-Type: application/json' \
  -d @jdbc-source.json
curl -X PUT http://connect:8083/connectors/jdbc-source/config \
  -H 'Content-Type: application/json' -d @config.json
curl -X POST http://connect:8083/connectors/jdbc-source/restart
curl -X DELETE http://connect:8083/connectors/jdbc-source

连接器配置:

{
  "name": "jdbc-source",
  "config": {
    "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
    "tasks.max": "2",
    "connection.url": "jdbc:postgresql://db:5432/app",
    "topic.prefix": "cdc-",
    "mode": "incrementing",
    "incrementing.column.name": "id"
  }
}

易错点与排错

相关命令

读完自测

合上页面,先回答,再展开对照。

  1. 连接器插件只装在部分 worker 上会怎样?
  2. 坏消息导致任务反复失败,应该怎么处理?
  3. 修改连接器配置的推荐方式是什么?
答案
  1. 任务调度失败,插件必须安装到所有 worker。
  2. 配置 DLQ,避免坏消息阻塞整个连接器。
  3. 用 PUT /connectors/<name>/config,不要手改内部 topic。