Amazon MSK のデフォルト設定 - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon MSK のデフォルト設定

MSK クラスターを作成し、カスタム MSK 設定を指定しない場合、Amazon MSK は、次の表に示す値を使用してデフォルト設定を作成および使用します。このテーブルにないプロパティの場合、Amazon MSK はご使用のバージョンの Apache Kafka に関連付けられているデフォルトを使用します。これらのデフォルト値のリストについては、Apache Kafka の設定を参照してください。

デフォルトの設定値
名前 説明 非階層型ストレージクラスターのデフォルト値 階層型ストレージ対応クラスターのデフォルト値
allow.everyone.if.no.acl.found 特定のリソースに一致するリソースパターンがない場合、リソースには ACL が関連付けられていません。この場合、このプロパティを true に設定すると、スーパーユーザーだけでなく、すべてのユーザーがリソースにアクセスできます。 true true
auto.create.topics.enable サーバー上のトピックの自動作成を有効にします。 false false
auto.leader.rebalance.enable 自動リーダーバランシングを有効にします。バックグラウンドスレッドは、必要に応じて一定の間隔でリーダーバランスをチェックして開始します。 true true
default.replication.factor 自動的に作成されるトピックのデフォルトのレプリケーション係数。 3 つのアベイラビリティーゾーン内のクラスターの場合は 3、2 つのアベイラビリティーゾーン内のクラスターの場合は 2。 3 つのアベイラビリティーゾーン内のクラスターの場合は 3、2 つのアベイラビリティーゾーン内のクラスターの場合は 2。

local.retention.bytes

古いセグメントを削除する前の、パーティションのローカルログセグメントの最大サイズ。この値を設定しない場合、log.retention.bytes の値が使用されます。有効な値は、常に log.retention.bytes の値以下にする必要があります。デフォルト値 -2 は、ローカル保持に制限がないことを示します。これは、retention.ms/bytes 設定の -1 に相当します。local.retention.ms プロパティと local.retention.bytes プロパティは、ログセグメントをローカルストレージに保持する期間を決定するために使用されるという点で log.retention に似ています。既存の log.retention.* 設定は、トピックパーティションの保持設定です。これには、ローカルストレージとリモートストレージの両方が含まれます。有効な値: [-2; +Inf] の整数

-2 は制限なし -2 は制限なし

local.retention.ms

削除するまでローカルログセグメントを保持するミリ秒数。この値を設定しない場合、Amazon MSK は log.retention.ms の値を使用します。有効な値は、常に log.retention.bytes の値以下にする必要があります。デフォルト値 -2 は、ローカル保持に制限がないことを示します。これは、retention.ms/bytes 設定の -1 に相当します。

local.retention.ms と local.retention.bytes の値は log.retention と似ています。MSK はこの設定を使用して、ログセグメントをローカルストレージに保持する期間を決定します。既存の log.retention.* 設定は、トピックパーティションの保持設定です。これには、ローカルストレージとリモートストレージの両方が含まれます。有効な値は 0 より大きい整数です。
-2 は制限なし -2 は制限なし

log.message.timestamp.difference.max.ms

ブローカーがメッセージを受信したときのタイムスタンプと、メッセージで指定されたタイムスタンプとの間に許容される最大差です。log.message.timestamp.type= の場合、タイムスタンプの差がこのしきい値を超えるとCreateTime、メッセージは拒否されます。log.message.timestamp.type= の場合、LogAppendTimeこの設定は無視されます。不必要な頻度でのログローリングを避けるために、許容されるタイムスタンプの最大差は log.retention.ms 以下にする必要があります。 9223372036854775807 Kafka 2.8.2.tiered の場合は 86400000
log.segment.bytes 1 つのログファイルの最大サイズ。 1073741824 134217728
min.insync.replicas

プロデューサーが acks の値を "all" (または "-1") に設定した場合、min.insync.replicas の値は、書き込みが成功したと見なされるために書き込みを確認する必要があるレプリカの最小数を指定します。この値がこの最小値を満たさない場合、プロデューサーは例外 (または) を発生させます。 NotEnoughReplicas NotEnoughReplicasAfterAppend

min.insync.replicas と acks の値を組み合わせて使用すると、より高い耐久性を保証できます。例えば、レプリケーション係数が 3 のトピックを作成し、min.insync.replicas を 2 に設定して、acks を "all" に設定して生成するとします。これにより、大部分のレプリカが書き込みを受け取らない場合、プロデューサーが例外を発生させることができます。

3 つのアベイラビリティーゾーン内のクラスターの場合は 2、2 つのアベイラビリティーゾーン内のクラスターの場合は 1。 3 つのアベイラビリティーゾーン内のクラスターの場合は 2、2 つのアベイラビリティーゾーン内のクラスターの場合は 1。
num.io.threads サーバーがリクエストを生成するために使用するスレッドの数。これにはディスク I/O が含まれる場合があります。 8 max(8, vCPUs)。vCPUs はブローカーのインスタンスサイズによって異なります
num.network.threads サーバーがネットワークからリクエストを受信し、ネットワークにレスポンスを送信するために使用するスレッドの数。 5 max(5, vCPUs / 2)。vCPUs はブローカーのインスタンスサイズによって異なります
num.partitions トピックごとのログパーティションのデフォルト数。 1 1
num.replica.fetchers ソースブローカーからのメッセージをレプリケートするために使用されるフェッチャースレッドの数。この値を大きくすると、フォロワーブローカーの I/O 並列処理の度合いを上げることができます。 2 max(2, vCPUs / 4)。vCPUs はブローカーのインスタンスサイズによって異なります

remote.log.msk.disable.policy

階層型ストレージを無効にする場合は、remote.storage.enable と一緒に使用します。remote.storage.enable を false に設定した場合に階層型ストレージ内のデータが削除されるようにするには、このポリシーを Delete に設定します。

該当なし DELETE
remote.log.reader.threads リモートログリーダーのスレッドプールサイズ。リモートストレージからデータを取得するタスクをスケジュールする際に使用されます。 該当なし max(10, vCPUs * 0.67)。vCPUs はブローカーのインスタンスサイズによって異なります

remote.storage.enable

これを true に設定すると、トピックの階層型 (リモート) ストレージが有効になります。これを false に設定し、remote.log.msk.disable.policy が Delete に設定されている場合、トピックレベルの階層型ストレージが無効になります。階層型ストレージを無効にすると、リモートストレージからデータが削除されます。トピックの階層型ストレージを無効にすると、再度有効にすることはできません。 false true
replica.lag.time.max.ms フォロワーがフェッチリクエストを送信していないか、またはリーダーのログ終了オフセットまでこのミリ秒数以上消費されていない場合、リーダーはフォロワーを ISR から削除します。 30000 30000

retention.ms

必須フィールド。最短期間は 3 日間です。設定は必須であるため、デフォルトはありません。

Amazon MSK は retention.ms 値と local.retention.ms を使用して、データがローカルから階層型ストレージに移動するタイミングを決定します。local.retention.ms 値は、データをローカルから階層型ストレージに移動するタイミングを指定します。retention.ms 値は、階層型ストレージからデータを削除する (つまり、クラスターから削除する) タイミングを指定します。有効な値: [-1; +Inf] の整数

最小 259,200,000 ミリ秒 (3 日間)。無期限に保持する場合は -1。 最小 259,200,000 ミリ秒 (3 日間)。無期限に保持する場合は -1。
socket.receive.buffer.bytes ソケットサーバーソケットの SO_RCVBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。 102400 102400
socket.request.max.bytes ソケットリクエストの最大バイト数。 104857600 104857600
socket.send.buffer.bytes ソケットサーバーソケットの SO_SNDBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。 102400 102400
unclean.leader.election.enable ISR セットに含まれていないレプリカを、データ損失の可能性がある場合でも、最終手段として、リーダーとして使用するかどうかを指定します。 true false
zookeeper.session.timeout.ms

Apache ZooKeeper セッションのタイムアウト (ミリ秒)。

18000 18000
zookeeper.set.acl セキュア ACL を使用するようにクライアントを設定します。 false false

カスタム設定値の指定方法については、「カスタム MSK 設定」を参照してください。