付録B トピック設定パラメーター
cleanup.policy
type: list
デフォルト: delete
有効な値を削除します: [compact, delete]
Server Default Property: log.cleanup.policy
Importance: medium
"delete" または "compact"(両文字列)のいずれかである文字列。この文字列は、古いログセグメントで使用する保持ポリシーを指定します。デフォルトのポリシー(delete)は、保持期間またはサイズ制限に達した場合に古いセグメントを破棄します。「 comact」設定は、トピックの ログコンパクション が有効になります。
compression.type
型: 文字列
デフォルト: プロデューサー
の有効な値: [uncompressed, zstd, lz4, snappy, gzip, producer]
Server Default Property: compression.type
Importance: medium
特定のトピックの最終圧縮タイプを指定します。この設定では、標準の圧縮コーデック('gzip'、'snappy'、'lz4'、'zstd')を受け入れます。また、圧縮なしでの 'uncompressed' および 'producer' を受け入れます。これは、プロデューサーによって設定された元の圧縮コード c を保持します。
delete.retention.ms
Type: long
Default: 86400000(1 day)
有効な値: [0,…]
Server Default Property: log.cleaner.delete.retention.ms
Importance: medium
ログコンパクションされたトピック の削除トゥームストーンのマーカーを保持する時間。この設定は、オフセット 0 から開始して、最終ステージの有効なスナップショットを取得する場合にコンシューマーが読み取りを完了する必要のある時間にバインドし、それらのスキャンの完了前に廃棄します。
file.delete.delay.ms
Type: long
Default: 60000(1 分)
有効な値: [0,…]
Server Default Property: log.segment.delete.delay.ms
Importance: medium
ファイルシステムからファイルを削除するまでの待機時間。
flush.messages
タイプ: long
デフォルト: 9223372036854775807
有効な値 [ 0, …]
server Default Property: log.flush.interval.messages
Importance: medium
この設定により、ログに書き込まれたデータの fsync を強制する間隔を指定できます。たとえば、これがすべてのメッセージの後に fsync を指定した場合は、5 つのメッセージ以降は 5 回は fsync になります。通常、これは設定せず、耐久性を確保し、オペレーティングシステムのバックグラウンドフラッシュ機能を効率化することが推奨されます。この設定は、トピックごとに上書きできます(トピックごとの 設定についてのセクションを参照してください)。
flush.ms
タイプ: long
デフォルト: 9223372036854775807
有効な値 [ 0, …]
サーバーのデフォルトプロパティー: log.flush.interval.ms
Importance: medium
この設定により、ログに書き込まれたデータの fsync を強制する期間を指定できます。たとえば、これが 1000 ミリ秒が経過した後に fsync を 1000 ミリ秒に設定します。通常、これは設定せず、耐久性を確保し、オペレーティングシステムのバックグラウンドフラッシュ機能を効率化することが推奨されます。
follower.replication.throttled.replicas
タイプ: list
デフォルト: ""
有効な値: [partitionId],[brokerId]:[brokerId],[brokerId], …
サーバーデフォルトプロパティー: follower.replication.throttled.replicas
ImportanceImportance: medium
ログレプリケーションがフォロワー側でスロットリングされる必要があるレプリカの一覧。この一覧は、[PartitionId]:[BrokerId],[BrokerId]:[BrokerId]:… の形式でレプリカのセットを記述するか、ワイルドカード '*' を使用して、このトピックのすべてのレプリカにスロットリングできます。
index.interval.bytes
型: int
デフォルト: 4096(4 kibibytes)
有効な値 [ 0,…]
Server Default Property: log.index.interval.bytes
Importance: medium
この設定は、Kafka がインデックスエントリーをそのオフセットインデックスに追加する頻度を制御します。デフォルト設定では、4096 バイトごとにメッセージをインデックス化します。インデックスが多いと、読み取りはログの正確な位置にジャンプできますが、インデックスが大きくなるようにします。これを変更する必要はありません。
leader.replication.throttled.replicas
タイプ: list
デフォルト: ""
有効な値: [partitionId],[brokerId]:[brokerId],[brokerId], …
サーバーデフォルトプロパティー: leader.replication.throttled.replicas
Importance: medium
ログレプリケーションがリーダー側でスロットリングされる必要があるレプリカの一覧。この一覧は、[PartitionId]:[BrokerId],[BrokerId]:[BrokerId]:… の形式でレプリカのセットを記述するか、ワイルドカード '*' を使用して、このトピックのすべてのレプリカにスロットリングできます。
max.compaction.lag.ms
Type: long
Default: 9223372036854775807
有効な値 [ 1,…]
Server Default Property: log.cleaner.max.compaction.lag.ms
importance: medium
メッセージはログ内で圧縮できない最大時間。圧縮されているログにのみ適用可能です。
max.message.bytes
type: int
デフォルト: 1048588
有効な値 [ 0,…]
Server Default Property: message.max.bytes
Importance: medium
Kafka で許可される最大レコードバッチサイズ(圧縮が有効な場合の圧縮後)。これが増加され、0.10.2 よりも古いコンシューマーがある場合、コンシューマーのフェッチサイズも拡張し、この大量に記録できるようにします。最新のメッセージ形式バージョンでは、レコードは常にバッチにグループ化され、効率性を確保します。以前のメッセージ形式のバージョンでは、圧縮されていないレコードはバッチにグループ化されず、この制限はその場合の単一レコードにのみ適用されます。
message.format.version
型: string
デフォルト: 2.7-IV2
有効な値: [0.8.0, 0.8.1, 0.8.2, 0.9.0, 0.10.0-IV0, 0.10.0-IV1, 0.10.1-IV0, 0.10.1-IV0 0.10.1-IV2, 0.10.2-IV0, 0.11.0-IV0, 0.11.0-IV1, 0.11.0-IV2, 1.0-IV0, 1.1-IV0, 2.0-IV0, 2.1-IV0、3IV0-IV0-IV0 2.7-IV0, 2.7-IV1, 2.7-IV2]
Server Default Property: log.message.format.version
Importance: medium
ブローカーがログにメッセージを追加するのに使用するメッセージ形式のバージョンを指定します。値は有効な ApiVersion である必要があります。例としては、0.8.2、0.9.0.0、0.10.0 などがあります。詳細は、ApiVersion を参照してください。特定のメッセージ形式のバージョンを設定することで、ディスク上の既存のメッセージがすべて、指定されたバージョンよりも小さくなることが認定されています。この値を誤って設定すると、コンシューマーが認識しない形式のメッセージを受信してしまうため、古いバージョンのコンシューマーが破損することになります。
message.timestamp.difference.max.ms
タイプ: long
デフォルト: 9223372036854775807
有効な値 [ 0, …]
server Default Property: log.message.timestamp.difference.max.ms
Importance: medium
ブローカーがメッセージとメッセージを受け取ると、タイムスタンプとメッセージに指定されたタイムスタンプの間の最大差。message.timestamp.type=CreateTime の場合、タイムスタンプの差異がこのしきい値を超えるとメッセージは拒否されます。この構成は、message.timestamp.type=LogAppluatex の場合に無視されます。
message.timestamp.type
Type: string
デフォルト: CreateTime
有効な値: [CreateTime, LogApp the]
Server Default Property: log.message.timestamp.type
importance: medium
メッセージのタイムスタンプが create time であるか、またはログの追加時間であるかを定義します。値は
CreateTime
またはLogAppendTime
のいずれかでなければなりません。min.cleanable.dirty.ratio
Type: double
Default: 0.5
Valid Values: [0,…,1]
Server Default Property: log.cleaner.min.cleanable.ratio
Importance: medium
この設定では、ログコンパクターがログの消去を試行する頻度を制御します( ログコンパクション が有効になっていることを前提とします)。デフォルトでは、ログの 50% を超えるログのクリーニングを防ぎます。この比率は、重複してログに最大領域がバインドされます(ログの 50% は最大で 50% になる可能性がありました)。比率が大きいほど、より効率的なクリーニングが行われますが、ログの領域がさらに多くなります。max.compaction.lag.ms 設定または min.compaction.lag.ms 設定も指定された場合、ログコンパクターも、ダーティー率のしきい値が満たされ、ログにはダーティー率のしきい値が満たされ、ログが min.compaction.lagms の期間と即座に圧縮できると見えます。 または、ほとんどの max.compaction.lag.ms の期間にログにダーティー(複雑でない)レコードがある場合。
min.compaction.lag.ms
Type: long
デフォルト: 0
有効な値: [0,…]
Server Default Property: log.cleaner.min.compaction.lag.ms
Importance: medium
メッセージがログに記録されない最小の時間。圧縮されているログにのみ適用可能です。
min.insync.replicas
型: int
デフォルト: 1
有効な値: [1,…]
Server Default Property: min.insync.replicas
Importance: medium
プロデューサーが acks を「all」(または「-1」)に設定すると、この設定で書き込みが成功したとみなされる必要のあるレプリカの最小数を指定します。この最小値が満たされない場合、プロデューサーは例外を送出します(NotEnoughReplicas または NotEnoughReplicasAfterAppend)。一緒に使用すると、
min.insync.replicas
とacks
を使用すると、耐久性の高い保証を実施することができます。典型的なシナリオは、レプリケーション係数 3 でトピックを作成し、min.insync.replicas
を 2 に設定し、acks
の「all」で作成します。これにより、多くのレプリカが書き込みを受信しない場合にプロデューサーが例外を発生するようになります。preallocate
型: ブール値
デフォルト: false
Server Default Property: log.preallocate
Importance: medium
新しいログセグメントの作成時にディスクにファイルを事前に割り当てた場合には True。
retention.bytes
型: long
デフォルト: -1
Server デフォルトプロパティ: log.retention.bytes
Importance: medium
この設定では、「delete」保持ポリシーを使用している場合に、古いログセグメントを破棄する前にパーティションを拡張できるように、パーティションの最大サイズを制御します。デフォルトでは、サイズ制限は制限されません。この制限はパーティションレベルで実施されるため、パーティションの数で乗算して、トピックの保持(バイト単位)を計算します。
retention.ms
型: long
デフォルト: 604800000(7 days)
有効な値: [-1,…]
Server Default Property: log.retention.ms
Importance: medium
この設定では、「delete」保持ポリシーを使用している場合には、古いログセグメントを破棄する前にログを保持する最大時間を制御します。これは、コンシューマーがデータを読み取れる必要があるかについての SLA を表します。-1 に設定すると、時間制限は適用されません。
segment.bytes
型: int
デフォルト: 1073741824(1 gibibyte)
有効な値 [ 14, …]
サーバーのデフォルトプロパティー: log.segment.bytes
Importance: medium
この設定では、ログのセグメントファイルサイズを制御します。保持期間とクリーニングは常にファイルが実行されるため、より大きなセグメントサイズはファイルより少なくなりますが、保持に対する詳細な制御が低くなります。
segment.index.bytes
type: int
デフォルト: 10485760(10 mebibytes)
有効な値 [ 0,…]
Server Default Property: log.index.size.max.bytes
Importance: medium
この設定では、オフセットをファイルの位置にマップするインデックスのサイズを制御します。このインデックスファイルに事前割り当てを行い、ログのロール後にのみ縮小します。通常、この設定を変更する必要はありません。
segment.jitter.ms
型: long
デフォルト: 0
有効な値: [0,…]
Server Default Property: log.roll.jitter.ms
Importance: medium
スケジュールされたセグメントのゼロ時間からランダムのジッターで引き出された最大のジッターは、セグメントのゲームメンテーションを防ぎます。
segment.ms
型: long
デフォルト: 604800000(7 days)
有効な値: [1,…]
Server Default Property: log.roll.ms
Importance: medium
この設定では、セグメントファイルが満杯になっても、保持が古いデータを削除またはコンパクトにするために、Kafka が強制的にロールバックする期間を制御します。
unclean.leader.election.enable
Type: boolean
デフォルト: false
Server Default Property: unclean.leader.election.enable
Importance: medium
ISR が設定されていないレプリカを、最後の手段としてリーダーとして選択するようにし、データが失われる可能性があるかどうかを示します。
message.downconversion.enable
型: ブール値
デフォルト: true
Server のデフォルト Property: log.message.downconversion.enable
Importance: low
この設定は、リクエストを消費するために、ダウンコンバートバージョンのメッセージ形式が有効になっているかどうかを制御します。
false
に設定すると、古いメッセージ形式を必要とするコンシューマーに対してブローカーはダウンコンバートを実行しません。このような古いクライアントからの要求を消費するため、ブローカーはUNSUPPORTED_VERSION
エラーで応答します。この設定は、レプリケーションのフォロワーに必要となる可能性のあるメッセージ形式の変換には適用されません。