付録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.guarantee
がexactly_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 日です。