4

私はKafka Connectアプリケーションをイオン化して展開する製品を探しています。しかし、私はtask.maxの設定に関して必要な重要性は高いですが、実際にこの値を設定するには詳細が不明です。Kafka Connect分散タスク.max設定の理想的な値は?

私は、n個のパーティションからなるデータを消費してシンクに書き込むトピックがある場合(私の場合はS3に書き込んでいます)、何を設定すべきですか?最大まで?私はそれをnに設定すべきですか? 2nに設定する必要がありますか?直観的には、値をnに設定したいと思っています。これが私がやっていることです。

私はカフカのトピックを変更し、トピックのパーティションを増やすとどうなりますか? Kafka Connectorを一時停止してnに設定するとtasks.maxを増やす必要がありますか?値を2nに設定すると、コネクターは自動的にそれが動作する並列性を高めますか?

ありがとうございました!

答えて

7

Kafka Connectシンクでは、タスクは基本的にコンシューマスレッドであり、読み込むパーティションを受け取ります。パーティションが10あり、tasks.maxが5に設定されている場合、各タスクは2つのパーティションを受信して​​オフセットを読み取り、オフセットを追跡します。 tasks.maxをパーティション数以上の数に設定した場合、Connectは読み込んでいるトピックのパーティションと同じ数のタスクを起動します。

接続タスクを再起動する必要があるトピックのパーティション数を変更した場合、tasks.maxが依然としてパーティション数より大きい場合、Connectは多くのタスクを開始します。

編集は、ちょうどConnectorContextを発見:https://kafka.apache.org/0100/javadoc/org/apache/kafka/connect/connector/ConnectorContext.html

コネクターはこれを含めるように書かれなければなりませんが、接続は、トピックの変更(パーティションを削除/追加)があるかどうコネクタを再構成する能力を持っているように見えます。

関連する問題