我已经写了一个 Kafka Connect 到消费者主题,但是我的主题会在运行时改变,所以我需要重新配置主题。
我知道使用 RESTful API 可以更新主题还有其他方法可以实现吗?
我已经写了一个 Kafka Connect 到消费者主题,但是我的主题会在运行时改变,所以我需要重新配置主题。
我知道使用 RESTful API 可以更新主题还有其他方法可以实现吗?
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。
如果您提前知道要切换到的主题集,则可以在连接器配置中指定要使用的主题列表。否则,REST API是动态更新配置的唯一方法。