付録G Kafka Streams の設定パラメーター

application.id

型: 文字列
インポート: high

ストリーム処理アプリケーションの識別子。Kafka クラスター内で一意である必要があります。これは、メンバーシップ管理用の group-id のプレフィックスである 1)として使用されます(例: 3)。

bootstrap.servers

型: list
インポート: high

Kafka クラスターへの最初の接続を確立するために使用するホストとポートのペアの一覧。クライアントは、ブートストラップ用に指定されたすべてのサーバーに関係なく、サーバーの完全なセットを検出するために使用される初期ホストにのみ影響します。このリストは host1:port1,host2:port2,…​ の形式にする必要があります。これらのサーバーは、クラスターの完全なメンバーシップを検出するために最初の接続に使用されるため(動的に変更される可能性がある)、この一覧にはサーバーの完全セットを含める必要はありません(サーバーがダウンした場合など)。

replication.factor

型: int
デフォルト: 1
Importance: high

ログトピックのレプリケーション係数。また、ストリーム処理アプリケーションによって作成されたトピックを再パーティションします。

state.dir

型: 文字列
デフォルト:
/tmp/kafka-streams
Importance: high

ステートストアのディレクトリーの場所。このパスは、同じ基礎となるファイルシステムを共有する各ストリームインスタンスに対して一意である必要があります。

acceptable.recovery.lag

タイプ: long
デフォルト: 10000
有効な値: [0,…​]
Importance: medium

クライアントに対する最大許容ラグ(取得するオフセットの数)は、アクティブなタスクのキャッチされたと見なされる最大許容ラグ(取得するオフセットの数)です。指定のワークロードの分数に適切に対応します。0 以上でなければなりません。

cache.max.bytes.buffering

型: long
デフォルト: 10485760
有効な値: [0,…​]
インポート中: medium

すべてのスレッド全体でのバッファーに使用される最大メモリーバイト数。

client.id

型: 文字列
デフォルト:
""
Importance: medium

内部コンシューマー、プロデューサー、および restore-consumer のクライアント ID に使用される ID プレフィックスの文字列(パターン '<client.id>-StreamThread-<threadSequenceNumber>-<consumer|producer|restore-consumer> ')。

default.deserialization.exception.handler

型: クラス
デフォルト: org.apache.kafka.streams.errors.LogAndFailExceptionHandler
Importance: medium

org.apache.kafka.streams.errors.DeserializationExceptionHandler インターフェースを実装するクラスを処理する例外

default.key.serde

Type: class
デフォルト: org.apache.kafka.common.serialization.Serdes$ByteArraySerde
Importance: medium

org.apache.kafka.common.serialization.Serde インターフェースを実装するキーのデフォルトのシリアライザー/デシリアライザークラス。windowed serde クラスが使用される場合、'default.windowed.key.serde.inner' または 'default.windowed.value.serdener' で org.apache.kafka.common.serialization.Serde インターフェースを実装する内部サンドクラスを 1 つ設定する必要があります。

default.production.exception.handler

型: クラス
デフォルト: org.apache.kafka.streams.errors.Default ProductionExceptionHandler
Importance: medium

org.apache.kafka.streams.errors.ProductionExceptionHandler インターフェースを実装するクラスを処理する例外

default.timestamp.extractor

Type: class
デフォルト: org.apache.kafka.streams.processor.FailOnInvalidTimestamp
Importance: medium

org.apache.kafka.streams.processor.TimestampExtractor インターフェースを実装するデフォルトのタイムスタンプ抽出クラス。

default.value.serde

Type: class
デフォルト: org.apache.kafka.common.serialization.Serdes$ByteArraySerde
Importance: medium

org.apache.kafka.common.serialization.Serde インターフェースを実装する値のデフォルトのシリアライザー/デシリアライザークラス。windowed serde クラスが使用される場合、'default.windowed.key.serde.inner' または 'default.windowed.value.serdener' で org.apache.kafka.common.serialization.Serde インターフェースを実装する内部サンドクラスを 1 つ設定する必要があります。

default.windowed.key.serde.inner

型: クラス
デフォルト: null
Importance: medium

ウィンドウされたキーの内部クラスのデフォルトのシリアライザー / デシリアライザー / デシリアライザー。org.apache.kafka.common.serialization.Serde インターフェースを実装する必要があります。

default.windowed.value.serde.inner

型: クラス
デフォルト: null
Importance: medium

ウィンドウ化された値の内部クラスのデフォルトシリアライザー / デシリアライザー。org.apache.kafka.common.serialization.Serde インターフェースを実装する必要があります。

max.task.idle.ms

タイプ: long
デフォルト: 0
Importance: medium

複数の入力ストリーム間で out-of-order レコード処理を防ぐために、すべてのパーティションバッファーにレコードが含まれる場合にストリームタスクがアイドル状態のままになります(ミリ秒単位)。

max.warmup.replicas

型: int
デフォルト: 2
有効な値 [ 1,…​]
Importance: medium

ウォームアップレプリカの最大数(設定された num.standbys 以外)は、1 つのインスタンスでタスクを利用できるようにするために、一度に割り当てることができます。ただし、別のインスタンスが再割り当てされる間、このレプリカは 1 つのインスタンスで利用できるようにすることができます。高可用性に使用できるブローカートラフィックとクラスターの状態の量を調整するために使用されます。1 以上でなければなりません。

num.standby.replicas

型: int
デフォルト: 0
Importance: medium

各タスクのスタンバイレプリカ数。

num.stream.threads

型: int
デフォルト: 1
Importance: medium

ストリーム処理を実行するスレッドの数。

processing.guarantee

型: 文字列
デフォルト:
at_least_once
有効な値: [at_least_once, exactly_once_beta]
Importance: medium

処理は使用すべきことを保証します。使用できる値は at_least_once (デフォルト)、exactly_once (ブローカーバージョン 0.11.0 以降が必要)、および exactly_once_beta (ブローカーバージョン 2.5 以降が必要)です。1 回だけ処理するには、実稼働に推奨される設定の 3 つ以上のブローカーで構成されるクラスターが必要になります。開発の場合は、ブローカー transaction.state.log.replication.factor および transaction.state.log.min.isr を調整することで、これを変更することができます。

security.protocol

type: string
デフォルト: PLAINTEXT
Importance: medium

ブローカーと通信するために使用されるプロトコル。有効な値は PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。

task.timeout.ms

タイプ: long
デフォルト: 300000(5 分)
有効な値: [0,…​]
Importance: medium

内部エラーが原因でタスクが停止する可能性があり、エラーが発生するまで再試行される可能性がある最大時間(ミリ秒単位)。0ms のタイムアウトの場合は、タスクにより最初の内部エラーのエラーが発生します。0ms を超えるタイムアウトの場合、タスクはエラーが発生する前に少なくとも 1 回リトライされます。

topology.optimization

型: 文字列
デフォルト:
none
有効な値: [none, all]
Importance: medium

トポロジーを最適化する必要がある場合は、Kafka Streams に指示する設定(デフォルトで無効)。

application.server

型: 文字列
デフォルト:
""
Importance: low

ユーザー定義のエンドポイントを参照する host:port ペア。これは、ステートストア検出およびこの KafkaStreams インスタンスでの対話的なクエリーに使用できます。

buffered.records.per.partition

型: int
デフォルト: 1000
インポート: low

パーティションごとにバッファーするレコードの最大数。

built.in.metrics.version

型: 文字列
デフォルト: 最新の
有効な値 [ 0.10.0-2.4, latest]
重要性: low

使用するビルトインメトリクスのバージョン。

commit.interval.ms

型: long
デフォルト: 30000(30 秒)
有効な値: [0,…​]
Importance: low

プロセッサーの位置を保存する頻度(ミリ秒単位)。(注記: processing.guaranteeexactly_once に設定された場合、デフォルト値は 100 です。それ以外の場合は、デフォルト値は 30000 です。

connections.max.idle.ms

タイプ: long
デフォルト: 540000(9 分)
インポート中: low

この設定によって指定されるミリ秒数の後にアイドル状態の接続を閉じます。

metadata.max.age.ms

タイプ: long
デフォルト: 300000(5 分)
有効な値: [0,…​]
Importance: low

パーティションリーダーを変更して、新しいブローカーまたはパーティションを正常に検出していない場合でも、メタデータの更新を強制する期間(ミリ秒単位)。

metric.reporters

タイプ: list
デフォルト: ""
Importance: low

メトリクスレポーターとして使用するクラスの一覧。org.apache.kafka.common.metrics.MetricsReporter インターフェースを実装すると、新しいメトリクス作成の通知を受信するクラスにプラグインすることができます。JmxReporter は JMX 統計を登録するために常に含まれます。

metrics.num.samples

型: int
デフォルト: 2
有効な値 [ 1,…​]
Importance: low

メトリックの計算に維持されるサンプル数。

metrics.recording.level

タイプ: string
デフォルト: INFO
有効な値: [INFO、DEBUG, TRACE]
重要度: low

メトリクスの記録レベル。

metrics.sample.window.ms

型: long
デフォルト: 30000(30 秒)
有効な値: [0,…​]
Importance: low

メトリクスサンプルが計算される期間。

partition.grouper

型: クラス
デフォルト: org.apache.kafka.streams.processor.DefaultPartitionGrouper
Importance: low

org.apache.kafka.streams.processor.PartitionGrouper インターフェースを実装するパーティショングループクラス。警告: この設定は非推奨となり、3.0.0 リリースで削除されます。

poll.ms

タイプ: long
デフォルト: 100
インポート: low

入力待ちのブロックする期間(ミリ秒単位)。

probing.rebalance.interval.ms

型: long
デフォルト: 600000(10 分)
有効な値: [60000,…​]
Importance: low

ウェイム完了およびアクティブになる準備ができたレプリカをプローブするためにリバランスをトリガーするまで待機する時間(ミリ秒単位)。リバランスの伝播は、割り当てがバランスになるまで引き続きトリガーされます。1 分以上にしてください。

receive.buffer.bytes

型: int
デフォルト: 32768(32 kibibytes)
有効な値 [ -1,…​]
のインポート: low

データの読み取り時に使用する TCP 受信バッファー(SO_RCVBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。

reconnect.backoff.max.ms

型: long
デフォルト: 1000(1 秒)
有効な値: [0,…​]
重要: low

接続に繰り返し失敗したブローカーに再接続するまで待つ最大時間(ミリ秒単位)。指定された場合、ホストごとのバックオフは、連続した接続失敗ごとに指数関数的に増加します。この最大値までです。バックオフの増加を算出したら、接続の量を回避するために 20% random jitter が追加されます。

reconnect.backoff.ms

型: long
デフォルト: 50
有効な値: [0,…​]
Importance: low

指定のホストに再接続を試みる前に待機する時間のベース時間。これにより、密接ループでホストに繰り返し接続できなくなります。このバックオフは、クライアントがブローカーに試行するすべての接続に適用されます。

request.timeout.ms

型: int
デフォルト: 40000(40 秒)
有効な値: [0,…​]
Importance: low

設定は、クライアントがリクエストの応答を待つ最大時間を制御します。タイムアウトが経過する前にレスポンスが受信されなかった場合、再試行が行われるとクライアントはリクエストを再送信します。

retries

型: int
デフォルト: 0
有効な値: [0,…​,2147483647]
Importance: low

値をゼロに設定すると、クライアントは一時的なエラーで失敗したリクエストを再送信します。値をゼロまたは MAX_VALUE に設定し、対応する timeout パラメーターを使用してリクエストを再試行する期間を制御することが推奨されます。

retry.backoff.ms

型: long
デフォルト: 100
有効な値: [0,…​]
Importance: low

失敗したリクエストを特定のトピックパーティションに再試行するまで待つ期間。これにより、一部の障害シナリオにおいて、密接ループでリクエストを繰り返し送信しないようにします。

rocksdb.config.setter

型: クラス
デフォルト: null
のインポート: low

org.apache.kafka.streams.state.RocksDBConfigSetter インターフェースを実装する Rocks DB 設定セッタークラスまたはクラス名。

send.buffer.bytes

型: int
デフォルト: 131072(128 kibibytes)
有効な値 [ -1,…​]
Importance: low

データ送信時に使用する TCP 送信バッファー(SO_SNDBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。

state.cleanup.delay.ms

タイプ: long
デフォルト: 600000(10 分)
Importance: low

パーティションが移行されたときに削除を待機する期間(ミリ秒単位)。少なくとも state.cleanup.delay.ms に対して変更されていない状態ディレクトリーのみが削除されます。

upgrade.from

型: 文字列
デフォルト: null
有効な値 [ null、0.10.0、0.10.1、0.10.2、0.11.0、1.0、1.1、2.1、2.3、2.3、2.3、2.3、および 2.3]
のインポート中: low

後方互換性がある方法でのアップグレードを許可します。これは、[0.10.0、1.1] から 2.0+、または [2.0, 2.3] から 2.4+ にアップグレードする際に必要です。2.4 から新しいバージョンにアップグレードする場合は、この設定を指定する必要はありません。デフォルトは null です。許可される値は、"0.10.0"、"0.10.1"、"0.10.2"、"0.11.0"、"1.0"、"1.1"、"2.2"、"2.2"、"2.3"(対応する古いバージョンからアップグレードする場合)です。

windowstore.changelog.additional.retention.ms

タイプ: long
デフォルト: 86400000(1 日)
Importance: low

画面の maintainMs に追加され、データがログの途中から削除されないようにします。クロックのドリフトを許可します。デフォルトは 1 日です。