翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MSK の更新設定機能を使用するか、Apache Kafka の AlterConfig API を使用して、読み取り/書き込みブローカー設定を更新できます。 AlterConfig Apache Kafka ブローカー設定は、静的または動的です。静的設定を適用するにはブローカーを再起動する必要がありますが、動的設定にはブローカーを再起動する必要はありません。設定プロパティと更新モードの詳細については、「ブローカー設定の更新
MSK Express ブローカーの静的設定
Amazon MSK を使用してカスタム MSK 設定ファイルを作成し、次の静的プロパティを設定できます。Amazon MSK は、設定していない他のすべてのプロパティを設定および管理します。静的設定ファイルは、MSK コンソールまたは 設定コマンドを使用して作成および更新できます。
プロパティ | 説明 | デフォルト値 |
---|---|---|
allow.everyone.if.no.acl.found |
このプロパティを false に設定する場合は、最初にクラスターに Apache Kafka ACL を定義していることを確認してください。このプロパティを false に設定し、最初に Apache Kafka ACLs を定義しない場合、クラスターにアクセスできなくなります。その場合は、設定を再度更新し、このプロパティを true に設定して、クラスターへのアクセスを回復できます。 |
真 |
auto.create.topics.enable |
サーバー上のトピックの自動作成を有効にします。 |
false |
connections.max.idle.ms |
アイドル接続のタイムアウト (ミリ秒単位)。サーバーソケットプロセッサスレッドは、接続のアイドル状態がこのプロパティに対して設定されている値を超えると、その接続を閉じます。 |
Apache Kafka のデフォルト |
delete.topic.enable |
トピックの削除オペレーションを有効にします。この設定をオフにすると、管理ツールからトピックを削除することができません。 |
Apache Kafka のデフォルト |
group.initial.rebalance.delay.ms |
グループコーディネーターが、最初の再調整を実行する前に、新しいグループに追加のデータコンシューマーが参加するのを待機する時間。遅延を長くすると再調整を減らせる可能性がありますが、処理が開始されるまでの時間が長くなります。 |
Apache Kafka のデフォルト |
group.max.session.timeout.ms |
登録されたコンシューマーの最大セッションタイムアウト。タイムアウトを長くすると、コンシューマーはハートビート間でより多くの時間をメッセージの処理に使用できるようになりますが、その代償として、障害検出に要する時間が長くなります。 |
Apache Kafka のデフォルト |
leader.imbalance.per.broker.percentage |
ブローカーごとに許容されるリーダーの不均衡率。ブローカーごとにこの値を超えると、コントローラーはリーダーバランスをトリガーします。この値はパーセントで指定されます。 |
Apache Kafka のデフォルト |
max.incremental.fetch.session.cache.slots |
維持される増分取得セッションの最大数。 |
Apache Kafka のデフォルト |
num.partitions |
トピックあたりのパーティションのデフォルト数。 |
1 |
offsets.retention.minutes |
コンシューマーグループがすべてのコンシューマーを失う(つまり、空になる)と、オフセットはこの保持期間にわたって保持されてから破棄されます。スタンドアロンコンシューマー (手動割り当てを使用するコンシューマー) の場合、オフセットは最後のコミット時刻にこの保持期間を加えた後に期限切れになります。 |
Apache Kafka のデフォルト |
replica.fetch.max.bytes |
パーティションごとに取得しようとするメッセージのバイト数。これは絶対最大値ではありません。フェッチの空でない最初のパーティションの最初のレコードバッチがこの値より大きい場合、進行を保証するためにそのレコードバッチが返されます。message.max.bytes (ブローカー設定) または max.message.bytes (トピック設定) は、ブローカーが受け入れる最大レコードバッチサイズを定義します。 |
Apache Kafka のデフォルト |
replica.selector.class |
ReplicaSelector を実装する完全修飾クラス名。ブローカーは、この値を使用して優先リードレプリカを見つけます。コンシューマーが最も近いレプリカからフェッチできるようにする場合は、このプロパティを に設定します |
Apache Kafka のデフォルト |
socket.receive.buffer.bytes |
ソケットサーバーソケットの SO_RCVBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。 |
102400 |
socket.request.max.bytes |
ソケットリクエストの最大バイト数。 |
104857600 |
socket.send.buffer.bytes |
ソケットサーバーソケットの SO_SNDBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。 |
102400 |
transaction.max.timeout.ms |
トランザクションの最大タイムアウト。クライアントのリクエストしたトランザクション時間がこの値を超えると、ブローカーは InitProducerIdRequest でエラーを返します。これにより、クライアントが大きすぎるタイムアウトを設定するのを防ぎ、トランザクションに含まれるトピックから読み取りを行うコンシューマーが停止するのを回避することができます。 |
Apache Kafka のデフォルト |
transactional.id.expiration.ms |
トランザクションコーディネーターが、トランザクション ID を有効期限切れにする前に、現在のトランザクションのトランザクションステータスの更新の受信を待機する時間 (ミリ秒単位)。この設定は、指定されたプロデューサー ID での最後の書き込み後にこの時間が経過すると、プロデューサー IDs の有効期限が切れるため、プロデューサー ID の有効期限にも影響します。トピックの保持設定が原因でプロデューサー ID からの最後の書き込みが削除された場合、プロデューサー ID の有効期限切れが早くなる可能性があります。このプロパティの最小値は 1 ミリ秒です。 |
Apache Kafka のデフォルト |
Express ブローカーの動的設定
Apache Kafka AlterConfig API または Kafka-configs.sh ツールを使用して、次の動的設定を編集できます。Amazon MSK は、設定していない他のすべてのプロパティを設定および管理します。ブローカーの再起動を必要としないクラスターレベルおよびブローカーレベルの設定プロパティを動的に設定できます。
プロパティ | 説明 | デフォルト値 |
---|---|---|
advertised.listeners |
また、 とは異なり このプロパティはブローカーごとに設定されます。 |
null |
compression.type |
特定のトピックの最終的な圧縮タイプ。このプロパティは、スタンダードの圧縮コーデック ( |
Apache Kafka のデフォルト |
log.cleanup.policy |
保存ウィンドウ外のセグメントのデフォルトのクリーンアップポリシー。カンマ区切りの有効なポリシーのリスト。有効なポリシーは |
Apache Kafka のデフォルト |
log.message.timestamp.after.max.ms |
メッセージのタイムスタンプとブローカーのタイムスタンプの間の許容されるタイムスタンプの差。メッセージのタイムスタンプは、ブローカーのタイムスタンプ以降でもかまいません。最大許容差は、この設定で設定された値によって決まります。の場合 |
86400000 (24 * 60 * 60 * 1000 ms、つまり 1 日) |
log.message.timestamp.before.max.ms |
ブローカーのタイムスタンプとメッセージのタイムスタンプの許容されるタイムスタンプの差。メッセージタイムスタンプは、ブローカーのタイムスタンプ以前とすることができます。最大許容差は、この設定で設定された値によって決まります。の場合 |
86400000 (24 * 60 * 60 * 1000 ms、つまり 1 日) |
log.message.timestamp.type |
メッセージ内のタイムスタンプがメッセージの作成時刻であるか、ログの追加時刻であるかを指定します。指定できる値は、 |
Apache Kafka のデフォルト |
log.retention.bytes |
削除する前のログの最大サイズ。 |
Apache Kafka のデフォルト |
log.retention.ms |
削除する前にログファイルを保持するミリ秒数。 |
Apache Kafka のデフォルト |
max.connection.creation.rate |
ブローカーでいつでも許可される最大接続作成レート。 |
Apache Kafka のデフォルト |
最大接続数 |
ブローカーで常に許可される接続の最大数。この制限は、 を使用して設定された IP ごとの制限に加えて適用されます |
Apache Kafka のデフォルト |
max.connections.per.ip |
各 IP アドレスから許可される接続の最大数。これは、max.connections.per.ip.overrides プロパティを使用して |
Apache Kafka のデフォルト |
max.connections.per.ip.overrides |
デフォルトの最大接続数に対する IP またはホスト名ごとの上書きのカンマ区切りリスト。値の例は です。 |
Apache Kafka のデフォルト |
message.max.bytes |
Kafka が許容する最大レコードバッチサイズ。この値を増やし、0.10.2 より古いコンシューマーが存在する場合、コンシューマーの取得サイズも増やして、この大きさのレコードバッチを取得できるようにする必要があります。最新のメッセージ形式バージョンでは、効率を上げるために、常にメッセージがバッチにグループ化されます。以前のメッセージ形式バージョンでは、非圧縮レコードはバッチにグループ化されません。その場合、この制限は単一のレコードにのみ適用されます。トピックレベル設定を使用して、トピックごとにこの値を設定できます |
Apache Kafka のデフォルト |
producer.id.expiration.ms |
トピックパーティションリーダーがプロデューサー IDs の有効期限が切れる前に待機するミリ秒単位の時間。プロデューサー IDsは、関連付けられたトランザクションがまだ進行中の間は期限切れになりません。トピックの保持設定が原因でプロデューサー IDs からの最後の書き込みが削除されると、プロデューサー ID の有効期限が早くなる可能性があることに注意してください。この値を 以上に設定すると、再試行中の有効期限を防ぎ、メッセージの重複を防ぐ |
Apache Kafka のデフォルト |
Express ブローカーのトピックレベルの設定
Apache Kafka コマンドを使用して、新規および既存のトピックのトピックレベルの設定プロパティを設定するか変更することができます。トピックレベルの設定を指定できない場合、Amazon MSK はブローカーのデフォルトを使用します。ブローカーレベルの設定と同様に、Amazon MSK はトピックレベルの設定プロパティの一部を変更から保護します。例としては、レプリケーション係数 min.insync.replicas
や などがありますunclean.leader.election.enable
。以外のレプリケーション係数値を持つトピックを作成しようとすると3
、Amazon MSK は3
デフォルトで のレプリケーション係数を持つトピックを作成します。トピックレベルの設定プロパティの詳細と設定方法の例については、Apache Kafka のドキュメントの「Topic-Level Configs
プロパティ | 説明 |
---|---|
cleanup.policy |
この設定は、ログセグメントで使用する保持ポリシーを指定します。保持時間またはサイズ制限に達すると、「削除」ポリシー (デフォルト) は古いセグメントを破棄します。「コンパクト」ポリシーは、各キーの最新の値を保持するログ圧縮を有効にします。また、両方のポリシーをカンマ区切りリスト (「delete,compact」など) で指定することもできます。この場合、古いセグメントは保持時間とサイズ設定ごとに破棄され、保持されたセグメントは圧縮されます。Express ブローカーでの圧縮は、パーティション内のデータが 256 MB に達した後にトリガーされます。 |
compression.type |
特定のトピックの最終圧縮タイプを指定します。この設定では、標準の圧縮コーデック ( |
max.message.bytes |
Kafka で許可される最大レコードバッチサイズ (圧縮が有効な場合は圧縮後)。これが増加し、 より古いコンシューマーが存在する場合は |
message.timestamp.after.max.ms |
この設定では、メッセージタイムスタンプとブローカーのタイムスタンプの許容タイムスタンプ差を設定します。メッセージのタイムスタンプは、ブローカーのタイムスタンプ以降でもかまいません。最大許容差は、この設定で設定された値によって決まります。の場合 |
message.timestamp.before.max.ms |
この設定では、ブローカーのタイムスタンプとメッセージのタイムスタンプの許容タイムスタンプ差を設定します。メッセージのタイムスタンプは、ブローカーのタイムスタンプ以前とすることができます。最大許容差は、この設定で設定された値によって決まります。の場合 |
message.timestamp.type |
メッセージのタイムスタンプがメッセージ作成時刻かログ追加時刻かを定義します。値は |
retention.bytes |
この設定は、「削除」保持ポリシーを使用している場合に、古いログセグメントを破棄して領域を解放する前に、パーティション (ログセグメントで構成される) を拡張できる最大サイズを制御します。デフォルトでは、サイズ制限は時間制限のみです。この制限はパーティションレベルで適用されるため、パーティションの数を掛けてトピックの保持期間をバイト単位で計算します。さらに、 は |
retention.ms |
この設定は、「削除」保持ポリシーを使用している場合に、古いログセグメントを破棄して領域を解放する前に、ログを保持する最大時間を制御します。これは、コンシューマーがデータを読み取るまでの時間に関する SLA を表します。に設定すると |