私は消費者の話題にKafka Connectを書いていますが、トピックは実行時に変更されるため、トピックを再設定する必要があります。Kafka ConnectでSinkConnectorのトピックを動的に更新する方法は?
私はRESTfulなAPIを使用してトピックを更新できることを知っていますが、これを達成する別の方法はありますか?
私は消費者の話題にKafka Connectを書いていますが、トピックは実行時に変更されるため、トピックを再設定する必要があります。Kafka ConnectでSinkConnectorのトピックを動的に更新する方法は?
私はRESTfulなAPIを使用してトピックを更新できることを知っていますが、これを達成する別の方法はありますか?
前もって切り替えたいトピックのセットがわかっている場合は、コネクタ設定で消費するトピックのリストを指定できます。それ以外の場合は、the REST APIがオンザフライで構成を更新する唯一の方法です。
Kafka Connectはサービスとして実行することを目的としており、コネクタ管理用のREST APIもサポートしています。実行時にREST APIを介してこれを更新する 唯一の方法:
PUT /コネクタ/ {名前}/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をさらに読むことができます。
ありがとう、私は実際には少しスライスのコードを変更することができますこれを達成することができますソースコードを見てきました。他の機能に影響を与えるかどうかはわかりません。 –
こんにちは、興味があるなら、私はkafkaについての深いコミュニケーションを持つことを非常にうれしく思っています。私は今もkafka connectのソースコードを深く見ています。私のEメール:[email protected]。 – wuchang