4

我已经写了一个 Kafka Connect 到消费者主题,但是我的主题会在运行时改变,所以我需要重新配置主题。

我知道使用 RESTful API 可以更新主题还有其他方法可以实现吗?

4

2 回答 2

2

Kafka Connect 旨在作为服务运行,它还支持用于管理连接器的 REST API。在运行时通过 REST API 进行更新的唯一方法:

PUT /connectors/{name}/config - 在运行时更新连接器的配置参数。

Request Json Object - config(map)

{
    "connector.class": "io.confluent.connect.hdfs.HdfsSinkConnector",
    "tasks.max": "20",
    "topics": "kafkaConnectTopic",
    "hdfs.url": "hdfs://smoketest:9000",
    "hadoop.conf.dir": "/etc/hadoop/conf",
    "hadoop.home": "/etc/hadoop",
    "flush.size": "1000",
    "rotate.interval.ms": "100"
}

Response :

{
    "name": "hdfs-sink-connector",
    "config": {
        "connector.class": "io.confluent.connect.hdfs.HdfsSinkConnector",
        "tasks.max": "20",
        "topics": "kafkaConnectTopic",
        "hdfs.url": "hdfs://smoketest:9000",
        "hadoop.conf.dir": "/etc/hadoop/conf",
        "hadoop.home": "/etc/hadoop",
        "flush.size": "1000",
        "rotate.interval.ms": "100"
    },
    "tasks": [
        { "connector": "hdfs-sink-connector", "task": 1 },
        { "connector": "hdfs-sink-connector", "task": 2 },
        { "connector": "hdfs-sink-connector", "task": 3 }
   ]
}

如需进一步阅读,您可以浏览http://docs.confluent.io/3.0.0/connect/userguide.html#connect-administration

于 2016-09-02T11:56:11.077 回答
0

如果您提前知道要切换到的主题集,则可以在连接器配置中指定要使用的主题列表。否则,REST API是动态更新配置的唯一方法。

于 2016-09-02T11:25:39.103 回答