翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタム Amazon MSK設定
Amazon を使用して、次のプロパティを設定するカスタムMSK設定MSKを作成できます。明示的に設定しないプロパティは、デフォルトの Amazon MSK設定 にある値を取得します。設定プロパティの詳細については、「Apache Kafka の設定
名前 | 説明 |
---|---|
allow.everyone.if.no.acl.found | このプロパティを に設定する場合はfalse 、まずクラスターACLsに Apache Kafka を定義してください。このプロパティを に設定false し、最初に Apache Kafka を定義しない場合ACLs、クラスターへのアクセスが失われます。その場合は、設定を再度更新し、このプロパティを true に設定することで、クラスターへのアクセスを回復できます。 |
auto.create.topics.enable | サーバーでトピックの自動作成を有効にします。 |
compression.type | 特定のトピックの最終的な圧縮タイプ。このプロパティは、スタンダードの圧縮コーデック (gzip 、snappy 、lz4 、および zstd ) に設定できます。また、uncompressed に設定することもできます。この値は、圧縮しないことと同等です。値を producer に設定すると、プロデューサーが設定した元の圧縮コーデックが保持されます。 |
connections.max.idle.ms |
アイドル接続のタイムアウト (ミリ秒単位)。サーバーソケットプロセッサスレッドは、接続のアイドル状態がこのプロパティに対して設定されている値を超えると、その接続を閉じます。 |
default.replication.factor | 自動的に作成されるトピックのデフォルトのレプリケーション係数。 |
delete.topic.enable | トピックの削除オペレーションを有効にします。この設定をオフにすると、管理ツールからトピックを削除することができません。 |
group.initial.rebalance.delay.ms | グループコーディネーターが、最初の再調整を実行する前に、新しいグループに追加のデータコンシューマーが参加するのを待機する時間。遅延を長くすると再調整を減らせる可能性がありますが、処理が開始されるまでの時間が長くなります。 |
group.max.session.timeout.ms | 登録されたコンシューマーの最大セッションタイムアウト。タイムアウトを長くすると、コンシューマーはハートビート間でより多くの時間をメッセージの処理に使用できるようになりますが、その代償として、障害検出に要する時間が長くなります。 |
group.min.session.timeout.ms | 登録されたコンシューマーの最小セッションタイムアウト。タイムアウトを短くすると、障害検出までの時間が短縮される一方で、より頻繁にコンシューマーのハートビートが発生するようになります。これにより、ブローカーリソースが圧迫される可能性があります。 |
leader.imbalance.per.broker.percentage | ブローカーごとに許容されるリーダーの不均衡率。ブローカーごとにこの値を超えると、コントローラーはリーダーバランスをトリガーします。この値はパーセントで指定されます。 |
log.cleaner.delete.retention.ms | Apache Kafka が削除されたレコードを保持する時間。最小値は 0 です。 |
log.cleaner.min.cleanable.ratio |
この設定プロパティには、0 から 1 までの値を指定できます。この値は、ログコンパクターがログのクリーニングを試行する頻度を決定します (ログ圧縮が有効になっている場合)。デフォルトでは、Apache Kafka は、ログの 50% 以上が圧縮されている場合は、そのログのクリーニングを回避します。この比率は、ログで重複によって浪費される最大スペースを制限します (50% の場合、ログの最大 50% が重複である可能性があることを意味します)。比率が高いほど、クリーニングは少なく、効率的ですが、ログ内の無駄なスペースが多くなります。 |
log.cleanup.policy | 保存ウィンドウ外のセグメントのデフォルトのクリーンアップポリシー。カンマ区切りの有効なポリシーのリスト。有効なポリシーは delete および compact です。階層型ストレージに対応したクラスターの場合、有効なポリシーは delete のみです。 |
log.flush.interval.messages | メッセージがディスクにフラッシュされるまでにログパーティションに蓄積されるメッセージの数。 |
log.flush.interval.ms | トピック内のメッセージがディスクにフラッシュされるまでにメモリに保持される最大時間 (ミリ秒単位)。この値を設定しない場合、log.flush.Scheduler.interval.ms の値が使用されます。最小値は 0 です。 |
log.message.timestamp.difference.max.ms | ブローカーがメッセージを受信したときのタイムスタンプと、メッセージで指定されたタイムスタンプとの間の最大時間差。log.message.timestamp.type= の場合CreateTime、タイムスタンプの差がこのしきい値を超えるとメッセージは拒否されます。log.message.timestamp.type= の場合、この設定は無視されますLogAppendTime。 |
log.message.timestamp.type | メッセージ内のタイムスタンプがメッセージの作成時刻であるか、ログの追加時刻であるかを指定します。指定できる値は、CreateTime および LogAppendTime です。 |
log.retention.bytes | 削除する前のログの最大サイズ。 |
log.retention.hours | log.retention.ms プロパティの 3 次である、ログファイルを削除する前に保持する時間数。 |
log.retention.minutes | log.retention.ms プロパティに対してセカンダリである、ログファイルを削除する前に保持する時間(分)。この値を設定しない場合、log.retention.hours の値が使用されます。 |
log.retention.ms | ログファイルを削除する前に保持するミリ秒数(ミリ秒単位)。設定されていない場合は、log.retention.minutes の値が使用されます。 |
log.roll.ms | 新しいログセグメントがロールアウトされるまでの最大時間(ミリ秒単位)。このプロパティを設定しない場合は、log.roll.hours の値が使用されます。このプロパティの可能な最小値は 1 です。 |
log.segment.bytes | 1 つのログファイルの最大サイズ。 |
max.incremental.fetch.session.cache.slots | 維持される増分取得セッションの最大数。 |
message.max.bytes |
Kafka が許容する最大レコードバッチサイズ。この値を増やし、0.10.2 より古いコンシューマーが存在する場合、コンシューマーの取得サイズも増やして、この大きさのレコードバッチを取得できるようにする必要があります。 最新のメッセージ形式バージョンでは、効率を上げるために、常にメッセージがバッチにグループ化されます。以前のメッセージ形式バージョンでは、非圧縮レコードはバッチにグループ化されません。その場合、この制限は単一のレコードにのみ適用されます。 この値は、トピックレベルの max.message.bytes 設定を使用して、トピックごとに設定できます。 |
min.insync.replicas |
プロデューサーが acks を min.insync.replicas と acks の値を使用すると、より高い耐久性を保証できます。例えば、レプリケーション係数が 3 のトピックを作成し、min.insync.replicas を 2 に設定して、acks を |
num.io.threads | サーバーがリクエストを処理するために使用するスレッドの数。これにはディスク I/O が含まれる場合があります。 |
num.network.threads | サーバーがネットワークからリクエストを受信し、ネットワークにレスポンスを送信するために使用するスレッドの数。 |
num.partitions | トピックごとのログパーティションのデフォルト数。 |
num.recovery.threads.per.data.dir | スタートアップ時にログを復元し、シャットダウン時にログをフラッシュするために使用されるデータディレクトリごとのスレッド数。 |
num.replica.fetchers | ソースブローカーからのメッセージのレプリケートに使用されるフェッチャースレッドの数。この値を大きくすると、フォロワーブローカーでの I/O 並列処理の度合いが高くなります。 |
offsets.retention.minutes | コンシューマーグループがすべてのコンシューマーを失う(つまり、空になる)と、オフセットはこの保持期間にわたって保持されてから破棄されます。スタンドアロンのコンシューマー (手動割り当てを使用するコンシューマー) の場合、オフセットは、最後のコミットの時刻にこの保持期間を足した時刻に有効期限切れになります。 |
offsets.topic.replication.factor | オフセットトピックのレプリケーション係数。可用性を確保するには、この値を高く設定します。内部トピックの作成は、クラスターサイズがこのレプリケーション係数の要件を満たすまで失敗します。 |
replica.fetch.max.bytes | パーティションごとに取得しようとするメッセージのバイト数。これは絶対最大値ではありません。フェッチの空でない最初のパーティションの最初のレコードバッチがこの値より大きい場合、進行を保証するためにそのレコードバッチが返されます。message.max.bytes (ブローカー設定) または max.message.bytes (トピック設定) は、ブローカーが受け入れる最大レコードバッチサイズを定義します。 |
replica.fetch.response.max.bytes | フェッチレスポンス全体に対して予想される最大バイト数。レコードはバッチでフェッチされます。また、フェッチの空でない最初のパーティションの最初のレコードバッチがこの値より大きい場合、進行を保証するためにそのレコードバッチが引き続き返されます。これは絶対最大値ではありません。message.max.bytes (ブローカー設定)または max.message.bytes (トピック設定)プロパティは、ブローカーが受け付ける最大レコードバッチサイズを指定します。 |
replica.lag.time.max.ms | フォロワーがフェッチリクエストを送信していない場合、または少なくともこのミリ秒数の間リーダーのログ終了オフセットまで消費していない場合、リーダーはフォロワーを から削除しますISR。 MinValue: 10,000 MaxValue = 30,000 |
replica.selector.class | を実装する完全修飾クラス名 ReplicaSelector。ブローカーは、この値を使用して優先リードレプリカを見つけます。Apache Kafka バージョン 2.4.1 以降を使用していて、コンシューマーが最も近いレプリカからフェッチできるようにする場合は、このプロパティを org.apache.kafka.common.replica.RackAwareReplicaSelector に設定します。詳細については、「Apache Kafka バージョン 2.4.1 (代わりに 2.4.1.1 を使用) 」を参照してください。 |
replica.socket.receive.buffer.bytes | ネットワークリクエスト用のソケット受信バッファ。 |
socket.receive.buffer.bytes | ソケットサーバーソケットの SO_RCVBUF バッファ。このプロパティに設定できる最小値は -1 です。値が -1 の場合、Amazon は OS デフォルトMSKを使用します。 |
socket.request.max.bytes | ソケットリクエストの最大バイト数。 |
socket.send.buffer.bytes | ソケットサーバーソケットの SO_SNDBUF バッファ。このプロパティに設定できる最小値は -1 です。値が -1 の場合、Amazon は OS デフォルトMSKを使用します。 |
transaction.max.timeout.ms | トランザクションの最大タイムアウト。クライアントのリクエストされたトランザクション時間がこの値を超えると、ブローカーは にエラーを返します InitProducerIdRequest。これにより、クライアントが大きすぎるタイムアウトを設定するのを防ぎ、トランザクションに含まれるトピックから読み取りを行うコンシューマーが停止するのを回避することができます。 |
transaction.state.log.min.isr | トランザクショントピックに対してオーバーライドされる min.insync.replicas 設定。 |
transaction.state.log.replication.factor | トランザクショントピックのレプリケーション係数。このプロパティに高い値を設定すると、可用性が向上します。内部トピックの作成は、クラスターサイズがこのレプリケーション係数の要件を満たすまで失敗します。 |
transactional.id.expiration.ms | トランザクションコーディネーターが、トランザクション ID を有効期限切れにする前に、現在のトランザクションのトランザクションステータスの更新の受信を待機する時間 (ミリ秒単位)。この設定は、指定されたプロデューサー ID での最後の書き込み後にこの時間が経過すると、プロデューサーIDsの有効期限が切れるため、プロデューサー ID の有効期限にも影響します。トピックの保持設定により、プロデューサー ID からの最後の書き込みが削除された場合、プロデューサーの有効期限が早くIDsなります。このプロパティの最小値は 1 ミリ秒です。 |
unclean.leader.election.enable | ISR セット内にないレプリカが最後の手段としてリーダーとして機能するかどうかを示します。ただし、データが失われる可能性があります。 |
zookeeper.connection.timeout.ms | ZooKeeper モードクラスター。クライアントが への接続を確立するのを待機する最大時間 ZooKeeper。この値を設定しない場合、zookeeper.session.timeout.ms の値が使用されます。 MinValue = 6000 MaxValue (含む) = 18,000 |
zookeeper.session.timeout.ms |
ZooKeeper モードクラスター。Apache ZooKeeper セッションのミリ秒単位のタイムアウト。 MinValue = 6000 MaxValue (含む) = 18,000 |
カスタムMSK設定の作成方法、すべての設定の一覧表示方法、または説明方法については、「」を参照してくださいAmazon MSK設定オペレーション。カスタムMSK設定でMSKクラスターを作成する場合や、新しいカスタム設定でクラスターを更新する場合は、「」を参照してくださいAmazon MSK: 仕組み。
既存のMSKクラスターをカスタムMSK設定で更新すると、Amazon MSKは必要に応じてローリング再起動を行い、ベストプラクティスを使用して顧客のダウンタイムを最小限に抑えます。例えば、Amazon が各ブローカーMSKを再起動すると、Amazon MSK は、ブローカーが次のブローカーに移動する前に、設定更新中にブローカーが見逃した可能性のあるデータをブローカーにキャッチアップさせようとします。
動的 Amazon MSK設定
Amazon MSKが提供する設定プロパティに加えて、ブローカーの再起動を必要としないクラスターレベルおよびブローカーレベルの設定プロパティを動的に設定できます。一部の設定プロパティを動的に設定できます。Apache Kafka のドキュメントの「Broker Configs
注記
advertised.listeners
プロパティは設定できますが、listeners
プロパティは設定できません。
トピックレベルの Amazon MSK設定
Apache Kafka コマンドを使用して、新規および既存のトピックのトピックレベルの設定プロパティを設定するか変更することができます。トピックレベルの設定プロパティの詳細と設定方法の例については、Apache Kafka のドキュメントの「Topic-Level Configs
Amazon MSK設定状態
Amazon MSK設定は、次のいずれかの状態になります。設定に対してオペレーションを実行するには、設定が ACTIVE
または DELETE_FAILED
状態である必要があります。
-
ACTIVE
-
DELETING
-
DELETE_FAILED