付録A ブローカー設定パラメーター
zookeeper.connect
タイプ: string
重大度: 高
動的更新: read-only
ZooKeeper 接続文字列を
hostname:port
の形式で指定します。ここで、ホストとポートは ZooKeeper サーバーのホストおよびポートになります。ZooKeeper マシンが停止しているときに他の ZooKeeper ノード経由で接続できるようにするには、hostname1:port1,hostname2:port2,hostname3:port3
の形式で複数のホストを指定することもできます。また、サーバーには ZooKeeper 接続文字列の一部として ZooKeeper の chroot パスを含めることもできます。この文字列は、データをグローバル ZooKeeper namespace の一部のパスに配置します。たとえば、/chroot/path
の chroot パスを指定するには、接続文字列にhostname1:port1,hostname2:port2,hostname3:port3/chroot/path
を指定します。advertised.host.name
タイプ: string
デフォルト: null
重要度: 高
動的更新: 読み取り専用
非推奨:
advertised.
またはリスナーが設定されていない場合にのみ使用されます。代わりにlisteners
advertised.listeners
を使用してください。使用するクライアントの ZooKeeper にパブリッシュするホスト名。IaaS 環境では、ブローカーをバインドするインターフェイスとは異ならなくてはならない場合があります。これが設定されていない場合には、host.name
の値を使用します(設定されている場合)。それ以外の場合は、java.net.InetAddress.getCanonicalHostName()から返された値を使用します。advertised.listeners
タイプ: string
デフォルト: null
重要度: 高
動的更新: ブローカーごと
クライアントが使用する ZooKeeper にパブリッシュするリスナー (
listeners
設定プロパティーとは異なる場合)。IaaS 環境では、ブローカーをバインドするインターフェイスとは異ならなくてはならない場合があります。これが設定されていない場合、listeners
の値が使用されます。リスナー
とは異なり、0.0.0.0 メタアドレスをアドバタイズすることはできません。advertised.port
タイプ: int
デフォルト: null
重要度: 高
動的更新: 読み取り専用
非推奨:
advertised.
またはリスナーが設定されていない場合にのみ使用されます。代わりにlisteners
advertised.listeners
を使用してください。クライアントが使用する ZooKeeper に公開するポート。IaaS 環境では、これはブローカーがバインドするポートとは異なる必要がある場合があります。これが設定されていない場合、ブローカーがバインドするポートと同じポートを公開します。auto.create.topics.enable
タイプ: boolean
デフォルト: true
重要度: 高
動的更新: 読み取り専用
サーバーでトピックの自動作成を有効にします。
auto.leader.rebalance.enable
タイプ: boolean
デフォルト: true
重要度: 高
動的更新: 読み取り専用
自動リーダーバランシングを有効にします。バックグラウンドスレッドは、
leader.imbalance.check.interval.seconds
によって設定可能な一定間隔でパーティションリーダーの分散をチェックします。リーダーインバランスがleader.imbalance.per.broker.percentage
を超える場合、パーティションの優先リーダーへのリーダーのリバランスがトリガーされます。background.threads
Type: int
Default: 10
Valid Values: [1,…]
Importance: high
Dynamic update: cluster-wide
さまざまなバックグラウンド処理タスクに使用するスレッドの数。
broker.id
タイプ: int
デフォルト: -1
重要度: 高
動的更新: 読み取り専用
このサーバーのブローカー ID。未設定の場合は、一意のブローカー ID が生成されます。zookeeper が生成するブローカー ID とユーザーが設定したブローカー ID の間の競合を避けるために、生成されたブローカー ID は reserved.broker.max.id + 1 から開始します。
compression.type
タイプ: string
デフォルト: プロデューサー
重要度: 高
動的更新: クラスター全体
特定のトピックの最終的な圧縮タイプを指定します。この設定は、標準の圧縮コーデック ('gzip'、'snappy'、'lz4'、'zstd') を受け入れます。さらに、圧縮なしに相当する 'uncompressed' と、プロデューサーによって設定された元の圧縮コーデックを維持する 'producer' も使用できます。
control.plane.listener.name
タイプ: string
デフォルト: null
重要度: 高
動的更新: 読み取り専用
コントローラーとブローカー間の通信に使用されるリスナーの名前。ブローカーは control.plane.listener.name を使用して、リスナーリスト内のエンドポイントを特定し、コントローラーからの接続をリッスンします。たとえば、ブローカーの設定が : listeners = INTERNAL://192.1.1.8:9092, EXTERNAL://10.1.1.5:9093, CONTROLLER://192.1.1.8:9094 listener.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL, CONTROLLER:SSL control.plane.listener.name = CONTROLLER On startup の場合、ブローカーはセキュリティープロトコル "SSL" を使用して "192.1.1.8:9094" でリッスンを開始します。コントローラー側で、zookeeper を介してブローカーの公開済みエンドポイントを検出すると、control.plane.listener.name を使用してブローカーへの接続を確立するために使用するエンドポイントを見つけます。たとえば、zookeeper 上のブローカーの公開済みのエンドポイントが : "endpoints" : ["INTERNAL://broker1.example.com:9092","EXTERNAL://broker1.example.com:9093","CONTROLLER://broker1.example.com:9094"] で、コントローラーの設定が : listener.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL, CONTROLLER:SSL control.plane.listener.name = CONTROLLER の場合、コントローラーはセキュリティープロトコル "SSL" で "broker1.example.com:9094" を使用してブローカーに接続します。明示的に設定されていない場合、デフォルト値は null で、コントローラー接続専用のエンドポイントはありません。
delete.topic.enable
タイプ: boolean
デフォルト: true
重要度: 高
動的更新: 読み取り専用
トピックの削除を有効にします。この設定をオフの場合、管理ツールを介してトピックを削除しても効果はありません。
host.name
タイプ: string
デフォルト: ""
重大度: 高
動的更新: read-only
非推奨:
リスナー
が設定されていない場合にのみ使用されます。ブローカーのホスト名の代わりにリスナー
を使用します。これが設定されている場合、このアドレスにのみバインドされます。これが設定されていない場合には、すべてのインターフェースにバインドされます。leader.imbalance.check.interval.seconds
型: long
デフォルト: 300
重要度: 高
動的更新: 読み取り専用
パーティションリバランスチェックがコントローラーによってトリガーされる頻度。
leader.imbalance.per.broker.percentage
型: int
デフォルト: 10
重要度: 高
動的更新: 読み取り専用
ブローカーごとに許可されるリーダーのインバランスの比率。コントローラーは、ブローカーごとにこの値を超えると、リーダーのバランスをトリガーします。この値はパーセンテージで指定されます。
listeners
タイプ: string
デフォルト: null
重要度: 高
動的更新: ブローカーごと
リスナーリスト - リッスンする URI とリスナー名のコンマ区切りリストリスナー名がセキュリティープロトコルでない場合は、listeners.security.protocol.map も設定する必要があります。ホスト名を 0.0.0.0 として指定し、すべてのインターフェイスにバインドします。ホスト名を空白のままにして、デフォルトのインターフェイスにバインドします。正当なリスナーリストの例: PLAINTEXT://myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093.
log.dir
タイプ: string
デフォルト: /tmp/kafka-logs
重要度: 高
動的更新: 読み取り専用
ログデータが保持されるディレクトリー (log.dirs プロパティーで補足)。
log.dirs
タイプ: string
デフォルト: null
重要度: 高
動的更新: 読み取り専用
ログデータが保持されるディレクトリー。設定されていない場合は、log.dir の値が使用されます。
log.flush.interval.messages
Type: long
Default: 9223372036854775807
Valid Values: [1,…]
Importance: high
Dynamic update: cluster-wide
メッセージがディスクにフラッシュされる前に、ログパーティションで累積されるメッセージの数。
log.flush.interval.ms
タイプ: long
デフォルト: null
重要度: 高
動的更新: クラスター全体
ディスクにフラッシュされる前に、トピックのメッセージがメモリーに保持される最大時間 (ミリ秒単位)。設定されていない場合は、log.flush.scheduler.interval.ms の値が使用されます。
log.flush.offset.checkpoint.interval.ms
Type: int
Default: 60000 (1 minute)
Valid Values: [0,…]
Importance: high
Dynamic update: read-only
ログリカバリーポイントとして動作する最後のフラッシュの永続レコードを更新する頻度。
log.flush.scheduler.interval.ms
型: long
デフォルト: 9223372036854775807
重要度: 高
動的更新: 読み取り専用
ログフラッシャーが、ログをディスクにフラッシュする必要があるかどうかをチェックする頻度(ミリ秒単位)。
log.flush.start.offset.checkpoint.interval.ms
Type: int
Default: 60000 (1 minute)
Valid Values: [0,…]
Importance: high
Dynamic update: read-only
ログ開始オフセットの永続レコードを更新する頻度。
log.retention.bytes
タイプ: long
デフォルト: -1
重要度: 高
動的更新: クラスター全体
ログを削除する前のログの最大サイズ。
log.retention.hours
型: int
デフォルト: 168
重要度: 高
動的更新: 読み取り専用
ログファイルを削除する前にログファイルを保持する時間 (時間単位) (log.retention.ms プロパティーに対してターシャリー)。
log.retention.minutes
タイプ: int
デフォルト: null
重要度: 高
動的更新: 読み取り専用
ログファイルを削除する前にログファイルを保持する分数 (分単位) (log.retention.ms プロパティーに対してセカンダリー)。設定されていない場合は、log.retention.hours の値が使用されます。
log.retention.ms
タイプ: long
デフォルト: null
重要度: 高
動的更新: クラスター全体
ログファイルを削除する前にログファイルを保持する秒数 (ミリ秒単位)。設定されていない場合は、log.retention.minutes の値が使用されます。-1 に設定すると、時間制限は適用されません。
log.roll.hours
型: int
デフォルト: 168
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
新しいログセグメントがロールアウトされるまでの最大時間 (時間単位) (log.roll.ms プロパティーに対してセカンダリー)
log.roll.jitter.hours
型: int
デフォルト: 0
有効な値: [0,…]
重要度: 高
動的更新: 読み取り専用
logRollTimeMillis から差し引く最大ジッター (時間単位) (log.roll.jitter.ms プロパティーに対してセカンダリー)
log.roll.jitter.ms
タイプ: long
デフォルト: null
重要度: 高
動的更新: クラスター全体
logRollTimeMillis から減算する最大ジッター (ミリ秒単位)。設定されていない場合は、log.roll.jitter.hours の値が使用されます。
log.roll.ms
タイプ: long
デフォルト: null
重要度: 高
動的更新: クラスター全体
新しいログセグメントがロールアウトされるまでの最大時間 (ミリ秒単位)。設定されていない場合は、log.roll.hours の値が使用されます。
log.segment.bytes
型: int
デフォルト: 1073741824 (1 ギビバイト)
有効な値: [14,…]
重要度: 高
動的更新: クラスター全体
1 つのログファイルの最大サイズ。
log.segment.delete.delay.ms
型: long
デフォルト: 60000 (1 分)
有効な値: [0,…]
重要度: 高
動的更新: クラスター全体
ファイルシステムからファイルを削除するまでの待機時間。
message.max.bytes
型: int
デフォルト: 1048588
有効な値: [0,…]
重要度: 高
動的更新: クラスター全体
Kafka によって許可される最大のレコードバッチサイズ (圧縮が有効な場合は圧縮後)。これが増加し、0.10.2 より古いコンシューマーが存在する場合、コンシューマーのフェッチサイズも増加して、このような大きなレコードバッチをフェッチできるようにする必要があります。最新のメッセージ形式バージョンでは、効率化のためにレコードは常にバッチにグループ化されます。以前のメッセージ形式のバージョンでは、圧縮されていないレコードはバッチにグループ化されず、この制限はその場合は 1 つのレコードにのみ適用されます。これは、トピックレベルの
max.message.bytes
設定でトピックごとに設定できます。min.insync.replicas
型: int
デフォルト: 1
有効な値: [1,…]
重要度: 高
動的更新: クラスター全体
プロデューサーが acks を "all" (または "-1"),に設定すると、min.insync.replicas は、書き込みが正常に実行されるように書き込みを承認しなければならないレプリカの最小数を指定します。この最小値が満たされない場合、プロデューサーは例外 (NotEnoughReplicas または NotEnoughReplicasAfterAppend のいずれか) を発生させます。min.insync.replicas と acks を併用することで、より高い持続性が保証されます。一般的なシナリオでは、レプリケーション係数 3 のトピックを作成し、min.insync.replicas を 2 に設定し、acks を all にして生成します。これにより、レプリカの大部分が書き込みを受信しない場合に、プロデューサーは確実に例外を発生させます。
num.io.threads
型: int
デフォルト: 8
有効な値: [1,…]
重要度: 高
動的更新: クラスター全体
サーバーが要求の処理に使用するスレッドの数。これにはディスク I/O が含まれる場合があります。
num.network.threads
型: int
デフォルト: 3
有効な値: [1,…]
重要度: 高
動的更新: クラスター全体
サーバーがネットワークから要求を受信し、応答をネットワークに送信するために使用するスレッドの数。
num.recovery.threads.per.data.dir
型: int
デフォルト: 1
有効な値: [1,…]
重要度: 高
動的更新: クラスター全体
起動時のログリカバリーおよびシャットダウン時にフラッシュするために使用されるデータディレクトリーごとのスレッド数。
num.replica.alter.log.dirs.threads
タイプ: int
デフォルト: null
重要度: 高
動的更新: 読み取り専用
ログディレクトリー間でレプリカを移動できるスレッドの数。これにはディスク I/O が含まれる場合があります。
num.replica.fetchers
型: int
デフォルト: 1
重要度: 高
動的更新: クラスターワイド
ソースブローカーからメッセージを複製するために使用されるフェッチャースレッドの数。この値を増やすと、フォロワーブローカーの I/O 並列処理のレベルを増やすことができます。
offset.metadata.max.bytes
型: int
デフォルト: 4096 (4 ギビバイト)
重要度: 高
動的更新: 読み取り専用
オフセットコミットに関連付けられたメタデータエントリーの最大サイズ。
offsets.commit.required.acks
タイプ: short
デフォルト: -1
重要度: 高
動的更新: 読み取り専用
コミットを許可する前に必要な acks。通常、デフォルトの(-1)は上書きできません。
offsets.commit.timeout.ms
型: int
デフォルト: 5000 (5 秒)
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
オフセットコミットは、オフセットトピックのすべてのレプリカがコミットを受信するか、またはこのタイムアウトに達するまで遅延します。これは、プロデューサーリクエストのタイムアウトと似ています。
offsets.load.buffer.size
型: int
デフォルト: 5242880
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
オフセットをキャッシュに読み込むときにオフセットセグメントから読み取るバッチサイズ (ソフトリミット。レコードが大きすぎるとオーバーライドされます)。
offsets.retention.check.interval.ms
型: long
デフォルト: 600000 (10 分)
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
古いオフセットをチェックする頻度。
offsets.retention.minutes
型: int
デフォルト: 10080
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
コンシューマーグループがすべてのコンシューマーを失った後 (つまり空になった場合)、そのオフセットは破棄される前にこの保持期間は保持されます。(手動割り当てを使用する) スタンドアロンコンシューマーの場合、オフセットは最後のコミットの期間と、この保持期間後に期限切れになります。
offsets.topic.compression.codec
型: int
デフォルト: 0
重要度: 高
動的更新: 読み取り専用
オフセットトピックの圧縮コーデック - 圧縮は "atomic" コミットの達成に使用できます。
offsets.topic.num.partitions
型: int
デフォルト: 50
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
オフセットコミットトピックのパーティション数 (デプロイメント後には変更しないでください)。
offsets.topic.replication.factor
型: short
デフォルト: 3
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
オフセットトピックのレプリケーション係数 (可用性を確保するために高く設定します)。内部トピックの作成は、クラスターのサイズがこのレプリケーション係数の要件を満たすまで失敗します。
offsets.topic.segment.bytes
型: int
デフォルト: 104857600 (100 メビバイト)
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
ログコンパクションとキャッシュの負荷をより高速にするために、オフセットトピックセグメントバイトは比較的小さく維持する必要があります。
port
タイプ: int
デフォルト: 9092
重大度: 高
動的更新: read-only
非推奨:
リスナー
が設定されていない場合にのみ使用されます。代わりにリスナー
を使用します。ポートを使用して接続をリッスンおよび許可します。queued.max.requests
型: int
デフォルト: 500
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
ネットワークスレッドをブロックする前に、データプレーンで許可されるキューに置かれた要求の数。
quota.consumer.default
タイプ: long
デフォルト: 9223372036854775807
有効な値: [1,…]
重大度: 高
動的更新: read-only
非推奨: Zookeeper の <user, <client-id> または <user, client-id> に動的デフォルトクォータが設定されていない場合に限り使用します。clientId/consumer グループによるコンシューマーの区別は、この値を 1 秒以上フェッチするとスロットリングされます。
quota.producer.default
タイプ: long
デフォルト: 9223372036854775807
有効な値: [1,…]
重大度: 高
動的更新: read-only
非推奨: 動的デフォルトクォータが Zookeeper の <user>、<client-id> または <user、client-id> に対して設定されていない場合にのみ使用されます。clientId によるプロデューサーの区別は、1 秒あたりこの値を超えるバイトを生成するとスロットリングされます。
replica.fetch.min.bytes
型: int
デフォルト: 1
重要度: 高
動的更新: 読み取り専用
各フェッチ応答で想定される最小バイト数。十分なバイトがない場合は、replicasMaxWaitTimeMs まで待機します。
replica.fetch.wait.max.ms
型: int
デフォルト: 500
重要度: 高
動的更新: 読み取り専用
フォロワーレプリカが発行する各フェッチャーリクエストの最大待機時間。低スループットトピックの ISR が頻繁に縮小するのを防ぐために、この値は常に replica.lag.time.max.ms よりも小さくする必要があります。
replica.high.watermark.checkpoint.interval.ms
型: long
デフォルト: 5000 (5 秒)
重要度: 高
動的更新: 読み取り専用
最高レベルのウォーターマークがディスクに保存される頻度。
replica.lag.time.max.ms
型: long
デフォルト: 30000 (30 秒)
重要度: 高
動的更新: 読み取り専用
フォロワーがフェッチリクエストを送信していない場合や、リーダーのログ終了オフセットまで少なくともこの時間消費していない場合、リーダーはフォロワーを isr から削除します。
replica.socket.receive.buffer.bytes
型: int
デフォルト: 65536 (64 キビバイト)
重要度: 高
動的更新: 読み取り専用
ネットワーク要求のソケット受信バッファー。
replica.socket.timeout.ms
型: int
デフォルト: 30000 (30 秒)
重要度: 高
動的更新: 読み取り専用
ネットワーク要求のソケットタイムアウト。その値は、少なくとも replica.fetch.wait.max.ms である必要があります。
request.timeout.ms
型: int
デフォルト: 30000 (30 秒)
重要度: 高
動的更新: 読み取り専用
この設定は、クライアントの要求の応答を待つ最大時間を制御します。タイムアウトが経過する前に応答が受信されない場合、クライアントは必要に応じてリクエストを再送信します。または、再試行が使い切られるとリクエストが失敗します。
socket.receive.buffer.bytes
型: int
デフォルト: 102400 (100 キビバイト)
重要度: 高
動的更新: 読み取り専用
ソケットサーバーソケットの SO_RCVBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。
socket.request.max.bytes
型: int
デフォルト: 104857600 (100 メビバイト)
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
ソケットリクエストの最大バイト数。
socket.send.buffer.bytes
型: int
デフォルト: 102400 (100 キビバイト)
重要度: 高
動的更新: 読み取り専用
ソケットサーバーソケットの SO_SNDBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。
transaction.max.timeout.ms
型: int
デフォルト: 900000 (15 分)
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
トランザクションの最大許容タイムアウト。クライアントの要求されたトランザクション時間がこの値を超えると、ブローカーは InitProducerIdRequest でエラーを返します。これにより、クライアントがタイムアウトを大きくしすぎて、トランザクションに含まれるトピックからの読み取りを消費者が停止する可能性がなくなります。
transaction.state.log.load.buffer.size
型: int
デフォルト: 5242880
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
プロデューサー ID とトランザクションをキャッシュにロードするときにトランザクションログセグメントから読み取るバッチサイズ (ソフトリミット。レコードが大きすぎると上書きされます)。
transaction.state.log.min.isr
型: int
デフォルト: 2
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
トランザクショントピックの上書きされた min.insync.replicas 設定。
transaction.state.log.num.partitions
型: int
デフォルト: 50
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
トランザクショントピックのパーティション数 (デプロイメント後には変更しないでください)。
transaction.state.log.replication.factor
型: short
デフォルト: 3
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
トランザクショントピックのレプリケーション係数 (可用性を確保するために高く設定します)。内部トピックの作成は、クラスターのサイズがこのレプリケーション係数の要件を満たすまで失敗します。
transaction.state.log.segment.bytes
型: int
デフォルト: 104857600 (100 メビバイト)
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
ログコンパクションとキャッシュの負荷をより高速にするために、トランザクショントピックセグメントバイトは比較的小さく維持する必要があります。
transactional.id.expiration.ms
型: int
デフォルト: 604800000 (7 日)
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
トランザクションコーディネーターが、トランザクション ID の有効期限が切れる前に、現在のトランザクションのトランザクションステータスの更新を受信せずに待機する時間 (ミリ秒単位)。この設定は、プロデューサー ID の有効期限にも影響します。プロデューサー ID は、指定されたプロデューサー ID で最後に書き込んだ後、この時間が経過すると期限切れになります。トピックの保持設定が原因で、プロデューサー ID からの最後の書き込みが削除された場合、プロデューサー ID の有効期限が早くなる可能性があることに注意してください。
unclean.leader.election.enable
タイプ: boolean
デフォルト: false
重要度: 高
動的更新: クラスター全体
データが失われる可能性がある場合でも、ISRセットにないレプリカを最後の手段としてリーダーとして選出できるようにするかどうかを示します。
zookeeper.connection.timeout.ms
タイプ: int
デフォルト: null
重要度: 高
動的更新: 読み取り専用
クライアントが zookeeper への接続を確立するまで待機する最大時間。設定されていない場合は、zookeeper.session.timeout.ms の値が使用されます。
zookeeper.max.in.flight.requests
型: int
デフォルト: 10
有効な値: [1,…]
重要度: 高
動的更新: 読み取り専用
ブロックする前にクライアントが Zookeeper に送信する確認されていないリクエストの最大数。
zookeeper.session.timeout.ms
型: int
デフォルト: 18000 (18 秒)
重要度: 高
動的更新: 読み取り専用
ZooKeeper セッションのタイムアウト。
zookeeper.set.acl
タイプ: boolean
デフォルト: false
重要度: 高
動的更新: 読み取り専用
セキュアな ACL を使用するようにクライアントを設定します。
broker.id.generation.enable
タイプ: boolean
デフォルト: true
重要度: 中
動的更新: 読み取り専用
サーバーでブローカー ID の自動生成を有効にします。これを有効にすると、reserved.broker.max.id に設定された値を確認する必要があります。
broker.rack
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ブローカーのラック。これは、フォールトトレランスのためのラック対応レプリケーション割り当てで使用されます。たとえば、
RACK1
、us-east-1d
です。connections.max.idle.ms
型: long
デフォルト: 600000 (10 分)
重要度: 中
動的更新: 読み取り専用
アイドル接続のタイムアウト: サーバーソケットプロセッサースレッドは、これ以上にアイドル状態にある接続を閉じます。
connections.max.reauth.ms
型: long
デフォルト: 0
重要度: 高
動的更新: 読み取り専用
正数 (デフォルトは正数ではなく 0) に明示的に設定されている場合、設定された値を超えないセッションライフタイムは、認証時に v2.2.0 以降のクライアントに通知されます。ブローカーは、セッションの有効期間内に再認証されなかったあらゆる接続を切断し、その後、これは再認証以外の目的で使用されます。設定名には、任意でリスナー接頭辞と SASL メカニズム名を小文字でプレフィックスできます。たとえば、listener.name.sasl_ssl.oauthbearer.connections.max.reauth.ms=3600000 などです。
controlled.shutdown.enable
タイプ: boolean
デフォルト: true
重要度: 中
動的更新: 読み取り専用
サーバーの制御されたシャットダウンを有効にします。
controlled.shutdown.max.retries
型: int
デフォルト: 3
重要度: 中
動的更新: 読み取り専用
制御されたシャットダウンは、複数の理由で失敗する可能性があります。これにより、このような障害が発生した場合の再試行回数が決まります。
controlled.shutdown.retry.backoff.ms
型: long
デフォルト: 5000 (5 秒)
重要度: 中
動的更新: 読み取り専用
それぞれの再試行の前に、システムは以前の障害を引き起こした状態 (コントローラーのフェイルオーバー、レプリカの遅延など) から回復する時間が必要です。この設定は、再試行までの待機時間を決定します。
controller.socket.timeout.ms
型: int
デフォルト: 30000 (30 秒)
重要度: 中
動的更新: 読み取り専用
controller-to-broker チャネルのソケットタイムアウト。
default.replication.factor
型: int
デフォルト: 1
重要度: 中
動的更新: 読み取り専用
自動的に作成されるトピックのデフォルトレプリケーション係数。
delegation.token.expiry.time.ms
型: long
デフォルト: 86400000 (1 日)
有効な値: [1,…]
重要度: 中
動的更新: 読み取り専用
トークンの更新が必要となるまでのトークンの有効時間 (ミリ秒単位)。デフォルト値は 1 日です。
delegation.token.master.key
タイプ: password
デフォルト: null
重要度: 中
動的更新: 読み取り専用
マスター/シークレットキー。委譲トークンを生成して確認します。同じキーをすべてのブローカーで設定する必要があります。キーが設定されていないか、空の文字列に設定されていると、ブローカーは委任トークンのサポートを無効にします。
delegation.token.max.lifetime.ms
型: long
デフォルト: 604800000 (7 日)
有効な値: [1,…]
重要度: 中
動的更新: 読み取り専用
トークンの最大有効期間は、それを超えると更新できなくなります。デフォルト値は 7 日です。
delete.records.purgatory.purge.interval.requests
型: int
デフォルト: 1
重要度: 中
動的更新: 読み取り専用
delete records request purgatory のパージ間隔 (リクエストの回数)。
fetch.max.bytes
型: int
デフォルト: 57671680 (55 メビバイト)
有効な値: [1024,…]
重要度: 中
動的更新: 読み取り専用
フェッチリクエストに対して返す最大バイト数。1024 以上でなければなりません。
fetch.purgatory.purge.interval.requests
型: int
デフォルト: 1000
重要度: 中
動的更新: 読み取り専用
fetch request purgatory のパージ間隔 (リクエストの回数)。
group.initial.rebalance.delay.ms
型: int
デフォルト: 3000 (3 秒)
重要度: 中
動的更新: 読み取り専用
グループコーディネーターが最初のリバランスを実行する前に、より多くのコンシューマーが新しいグループに参加するのを待つ時間。遅延が長くなると、リバランスが少なくなる可能性がありますが、処理が開始されるまでの時間が長くなります。
group.max.session.timeout.ms
型: int
デフォルト: 1800000 (30 分)
重要度: 中
動的更新: 読み取り専用
登録されたコンシューマーに許可される最大セッションタイムアウト。タイムアウトが長くなると、コンシューマーはハートビートの間にメッセージを処理する時間が長くなりますが、障害の検出に時間がかかります。
group.max.size
型: int
デフォルト: 2147483647
有効な値: [1,…]
重要度: 中
動的更新: 読み取り専用
1 つのコンシューマーグループが対応できるコンシューマーの最大数。
group.min.session.timeout.ms
型: int
デフォルト: 6000 (6 秒)
重要度: 中
動的更新: 読み取り専用
登録されたコンシューマーに許可される最小セッションタイムアウト。タイムアウトを短くすると、障害の検出が速くなりますが、コンシューマーのハートビートが頻繁に発生し、ブローカーのリソースが対応できなくなる可能性があります。
inter.broker.listener.name
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ブローカー間の通信に使用されるリスナーの名前。これが設定されていない場合、リスナー名は security.inter.broker.protocol によって定義されます。これと security.inter.broker.protocol プロパティーを同時に設定するとエラーになります。
inter.broker.protocol.version
タイプ: string
デフォルト: 2.6-IV0
有効な値: [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-IV1, 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.0-IV1, 2.1-IV0, 2.1-IV1, 2.1-IV2, 2.2-IV0, 2.2-IV1, 2.3-IV0, 2.3-IV1, 2.4-IV0, 2.4-IV1, 2.5-IV0, 2.6-IV0]
重大度: 中
Dynamic update: read-only
使用する inter-broker プロトコルのバージョンを指定します。通常、これはすべてのブローカーが新しいバージョンにアップグレードされた後に表示されます。いくつかの有効な値の例は。0.8.0、0.8.1、0.8.1.1、0.8.2、0.8.2.0、0.8.2.1、0.9.0.0、0.9.0.1 です。完全なリストについては ApiVersion を確認してください。
log.cleaner.backoff.ms
型: long
デフォルト: 15000 (15 秒)
有効な値: [0,…]
重要度: 中
動的更新: クラスター全体
クリーニングするログがない場合のスリープ時間。
log.cleaner.dedupe.buffer.size
型: long
デフォルト: 134217728
重要度: 中
動的更新: クラスター全体
すべてのクリーナースレッドにおけるログの重複排除に使用されるメモリーの合計。
log.cleaner.delete.retention.ms
型: long
デフォルト: 86400000 (1 日)
重要度: 中
動的更新: クラスター全体
削除レコードが保持される期間。
log.cleaner.enable
タイプ: boolean
デフォルト: true
重要度: 中
動的更新: 読み取り専用
ログクリーナープロセスを有効にして、サーバー上で実行できるようにします。内部オフセットトピックを含む cleanup.policy=compact でトピックを使用する場合は、有効にする必要があります。無効にすると、これらのトピックは圧縮されず、サイズが継続的に大きくなります。
log.cleaner.io.buffer.load.factor
型: double
デフォルト: 0.9
重要度: 中
動的更新: クラスター全体
ログクリーナー重複排除バッファーの負荷率。重複排除バッファーの最大パーセンテージ。値を大きくすると、一度により多くのログをクリーンアップできますが、ハッシュ衝突が多くなります。
log.cleaner.io.buffer.size
型: int
デフォルト: 524288
有効な値: [0,…]
重要度: 中
動的更新: クラスター全体
すべてのクリーナースレッドにまたがってログクリーナー I/O バッファーに使用されるメモリーの合計。
log.cleaner.io.max.bytes.per.second
型: double
デフォルト: 1.7976931348623157E308
重要度: 中
動的更新: クラスター全体
ログクリーナーは、読み取りと書き込みの I/O の合計が平均してこの値よりも小さくなるようにスロットリングされます。
log.cleaner.max.compaction.lag.ms
型: long
デフォルト: 9223372036854775807
重要度: 中
動的更新: クラスター全体
メッセージがログのコンパクションの対象外のままになる最大時間。圧縮されるログにのみ適用されます。
log.cleaner.min.cleanable.ratio
型: double
デフォルト: 0.5
重要度: 中
動的更新: クラスター全体
クリーニングの対象となるログの、合計ログに対するダーティーログの最小比率。log.cleaner.max.compaction.lag.ms または log.cleaner.min.compaction.lag.ms 設定も指定されている場合、ログコンパクターは次のいずれかの場合にすぐにログをコンパクションの対象と見なします。(i) ダーティー比率のしきい値に達し、ログに少なくとも log.cleaner.min.compaction.lag.ms 期間のダーティー (圧縮されていない) レコードがある場合、または (ii) ログに最大で log.cleaner.max.compaction.lag.ms 期間のダーティー (圧縮されていない) レコードがある場合。
log.cleaner.min.compaction.lag.ms
型: long
デフォルト: 0
重要度: 中
動的更新: クラスター全体
メッセージがログで圧縮されないままになる最小時間。圧縮されるログにのみ適用されます。
log.cleaner.threads
型: int
デフォルト: 1
有効な値: [0,…]
重要度: 中
動的更新: クラスター全体
ログのクリーニングに使用するバックグラウンドスレッドの数。
log.cleanup.policy
タイプ: list
デフォルト: delete
有効な値: [compact, delete]
重要度: 中
動的更新: クラスター全体
保持期間を超えたセグメントのデフォルトのクリーンアップポリシー。有効なポリシーのコンマ区切りリスト。有効なポリシーは "delete" と "compact" です。
log.index.interval.bytes
型: int
デフォルト: 4096 (4 キビバイト)
有効な値: [0,…]
重要度: 中
動的更新: クラスター全体
オフセットインデックスにエントリーを追加する間隔。
log.index.size.max.bytes
型: int
デフォルト: 10485760 (10 メビバイト)
有効な値: [4,…]
重要度: 中
動的更新: クラスター全体
オフセットインデックスの最大サイズ (バイト単位)。
log.message.format.version
タイプ: string
デフォルト: 2.6-IV0
有効な値: [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-IV1, 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.0-IV1, 2.1-IV0, 2.1-IV1, 2.1-IV2, 2.2-IV0, 2.2-IV1, 2.3-IV0, 2.3-IV1, 2.4-IV0, 2.4-IV1, 2.5-IV0, 2.6-IV0]
重大度: 中
Dynamic update: read-only
ブローカーがログにメッセージを追加するために使用するメッセージ形式バージョンを指定します。この値は有効な ApiVersion である必要があります。たとえば、0.8.2、0.9.0.0、0.10.0 です。詳細は ApiVersion を確認してください。特定のメッセージ形式のバージョンを設定することで、ユーザーは、ディスク上の既存のメッセージすべてが指定したバージョンよりも小さいか、または等しいことを認定します。この値を誤って設定すると、以前のバージョンを持つコンシューマーが、認識されない形式でメッセージを受信するため、破損します。
log.message.timestamp.difference.max.ms
型: long
デフォルト: 9223372036854775807
重要度: 中
動的更新: クラスター全体
ブローカーがメッセージを受信したときのタイムスタンプと、メッセージに指定されたタイムスタンプとの間の最大差。log.message.timestamp.type=CreateTime の場合、タイムスタンプの差がこのしきい値を超えると、メッセージが拒否されます。この設定は、log.message.timestamp.type=LogAppendTime の場合に無視されます。不必要に頻繁なログのローリングを回避するために、許可される最大タイムスタンプの差はlog.retention.ms 以下にする必要があります。
log.message.timestamp.type
型: string
デフォルト: CreateTime
有効な値: [CreateTime, LogAppendTime]
重要度: 中
動的更新: クラスター全体
メッセージのタイムスタンプが、メッセージ作成時間かログの追加時間であるかを定義します。値は
CreateTime
またはLogAppendTime
である必要があります。log.preallocate
タイプ: boolean
デフォルト: false
重要度: 中
動的更新: クラスター全体
新規セグメントの作成時にファイルを事前に割り当てる必要がありますか?Windows で Kafka を使用している場合は、true に設定する必要があります。
log.retention.check.interval.ms
型: long
デフォルト: 300000 (5 分)
有効な値: [1,…]
重要度: 中
動的更新: 読み取り専用
ログクリーナーが、削除の対象となるログがあるかどうかを確認する頻度 (ミリ秒単位)。
max.connections
型: int
デフォルト: 2147483647
有効な値: [0,…]
重要度: 中
動的更新: クラスター全体
ブローカーでいつでも許可する最大接続数。この制限は、max.connections.per.ip を使用して設定された各 IP の制限に加えて適用されます。リスナーレベルの制限は、設定名の前にリスナー接頭辞を付けて設定することもできます (例:
listener.name.internal.max.connections
)。ブローカー全体の制限はブローカー容量に基づいて設定する必要がありますが、リスナー制限はアプリケーション要件に基づいて設定する必要があります。リスナーまたはブローカーの制限のいずれかに達すると、新しい接続はブロックされます。inter-broker リスナーの接続は、ブローカー全体の制限に到達しても許可されます。この場合、別のリスナーで一番最近使用されていない接続が閉じられます。max.connections.per.ip
型: int
デフォルト: 2147483647
有効な値: [0,…]
重要度: 中
動的更新: クラスター全体
各 IP アドレスから許容される接続の最大数。これは、max.connections.per.ip.overrides プロパティーを使用して上書きが設定されている場合は 0 に設定できます。制限に達すると、IP アドレスからの新規接続はドロップされます。
max.connections.per.ip.overrides
タイプ: string
デフォルト: ""
重要度: 中
動的更新: クラスター全体
ip ごとまたはホスト名のコンマ区切りリストは、デフォルトの最大接続数よりも優先されます。値の例は "hostName:100,127.0.0.1:200" です。
max.incremental.fetch.session.cache.slots
型: int
デフォルト: 1000
有効な値: [0,…]
重要度: 中
動的更新: 読み取り専用
維持する増分フェッチセッションの最大数。
num.partitions
型: int
デフォルト: 1
有効な値: [1,…]
重要度: 中
動的更新: 読み取り専用
トピックごとのログパーティションのデフォルト数。
password.encoder.old.secret
タイプ: password
デフォルト: null
重要度: 中
動的更新: 読み取り専用
動的に設定されたパスワードをエンコードするために使用されていた古いシークレット。これは、シークレットが更新される場合にのみ必要です。指定されている場合、動的にエンコードされたパスワードはすべて、この古いシークレットを使用してデコードされ、ブローカーの起動時に password.encoder.secret を使用して再エンコードされます。
password.encoder.secret
タイプ: password
デフォルト: null
重要度: 中
動的更新: 読み取り専用
このブローカーに動的に設定されたパスワードをエンコードするために使用されるシークレット。
principal.builder.class
タイプ: class
デフォルト: null
重大度: 中
動的更新: ブローカーごとに
承認中に使用される KafkaPrincipal オブジェクトを構築するために使用される KafkaPrincipalBuilder インターフェイスを実装するクラスの完全修飾名。この設定は、これまで SSL によるクライアント認証に使用されていた非推奨の PrincipalBuilder インターフェースもサポートします。プリンシパルビルダーが定義されていない場合、デフォルトの動作は使用中のセキュリティープロトコルによって異なります。SSL 認証の場合、プリンシパルは、クライアント証明書 (提供されている場合) からの識別名に適用される
ssl.principal.mapping.rules
によって定義されたルールを使用して派生されます。それ以外の場合は、クライアント認証が不要な場合はプリンシパル名は ANONYMOUS になります。SASL 認証の場合、プリンシパルは、GSSAPI が使用されている場合はsasl.kerberos.principal.to.local.rules
で定義されるルールを使用して、他のメカニズムを使用している場合は SASL 認証 ID を使用して派生されます。PLAINTEXT の場合、プリンシパルは ANONYMOUS になります。producer.purgatory.purge.interval.requests
型: int
デフォルト: 1000
重要度: 中
動的更新: 読み取り専用
producer request purgatory のパージ間隔 (リクエストの回数)。
queued.max.request.bytes
タイプ: long
デフォルト: -1
重要度: 中
動的更新: 読み取り専用
これ以上要求が読み取られなくなるまでに許可されるキューに入れられたバイト数。
replica.fetch.backoff.ms
型: int
デフォルト: 1000 (1 秒)
有効な値: [0,…]
重要度: 中
動的更新: 読み取り専用
パーティションのフェッチエラーが発生したときにスリープする時間。
replica.fetch.max.bytes
型: int
デフォルト: 1048576 (1 メビバイト)
有効な値: [0,…]
重要度: 中
動的更新: 読み取り専用
パーティションごとにフェッチを試みるメッセージのバイト数。これは絶対的な最大値ではありません。フェッチの最初の空ではないパーティションの最初のレコードバッチがこの値よりも大きい場合でも、確実に前進することができるようにレコードバッチが返されます。ブローカーによって許可される最大レコードバッチサイズは、
message.max.bytes
(ブローカー設定) またはmax.message.bytes
(トピック設定) で定義されます。replica.fetch.response.max.bytes
型: int
デフォルト: 10485760 (10 メビバイト)
有効な値: [0,…]
重要度: 中
動的更新: 読み取り専用
フェッチ応答全体に対して想定される最大バイト数。レコードはバッチで取得され、フェッチの最初の空ではないパーティションの最初のレコードバッチがこの値よりも大きい場合でも、確実に前進することができるようにレコードバッチが返されます。そのため、これは絶対的な最大値ではありません。ブローカーによって許可される最大レコードバッチサイズは、
message.max.bytes
(ブローカー設定) またはmax.message.bytes
(トピック設定) で定義されます。replica.selector.class
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ReplicaSelector を実装する完全修飾クラス名。これは、推奨される読み取りレプリカを見つけるためにブローカーによって使用されます。デフォルトでは、リーダーを返す実装を使用します。
reserved.broker.max.id
型: int
デフォルト: 1000
有効な値: [0,…]
重要度: 中
動的更新: 読み取り専用
broker.id に使用できる最大数。
sasl.client.callback.handler.class
タイプ: class
デフォルト: null
重要度: 中
動的更新: 読み取り専用
AuthenticateCallbackHandler インターフェイスを実装する SASL クライアントコールバックハンドラークラスの完全修飾名。
sasl.enabled.mechanisms
型: list
デフォルト: GSSAPI
重要度: 中
動的更新: per-broker
Kafka サーバーで有効になっている SASL メカニズムの一覧。このリストには、セキュリティープロバイダーを利用できるメカニズムが含まれている場合があります。GSSAPI のみがデフォルトで有効になっています。
sasl.jaas.config
タイプ: password
デフォルト: null
重要度: 中
動的更新: ブローカーごと
JAAS 設定ファイルで使用される形式の SASL 接続の JAAS ログインコンテキストパラメーター。JAAS 設定ファイルの形式は、こちら で説明されています。値の形式は 「loginModuleClass controlFlag(optionName=optionValue)*;」 です。ブローカーの場合、設定の前にリスナー接頭辞と SASL メカニズム名を小文字で指定する必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required; などです。
sasl.kerberos.kinit.cmd
タイプ: string
デフォルト: /usr/bin/kinit
重要度: 中
動的更新: ブローカーごと
Kerberos kinit コマンドパス。
sasl.kerberos.min.time.before.relogin
型: long
デフォルト: 60000
重要度: 中
動的更新: per-broker
更新試行間のログインスレッドのスリープ時間。
sasl.kerberos.principal.to.local.rules
型: list
デフォルト: DEFAULT
重要度: 中
動的更新: ブローカーごと
プリンシパル名から短縮名 (通常はオペレーティングシステムのユーザー名) にマッピングするためのルールの一覧です。ルールは順番に評価され、プリンシパル名と一致する最初のルールは、これを短縮名にマップするために使用されます。一覧の後続のルールは無視されます。デフォルトでは、{username}/{hostname}@{REALM} 形式のプリンシパル名は {username} にマッピングされます。形式の詳細は、 security authorization and acls を参照してください。この設定は、
principal.builder.class
設定によって KafkaPrincipalBuilder のエクステンションが提供される場合は無視されます。sasl.kerberos.service.name
タイプ: string
デフォルト: null
重要度: 中
動的更新: ブローカーごと
Kafka が実行される Kerberos プリンシパル名。これは、Kafka の JAAS 設定または Kafka の設定で定義できます。
sasl.kerberos.ticket.renew.jitter
型: double
デフォルト: 0.05
重要度: 中
動的更新: per-broker
更新時間に追加されたランダムなジッターの割合。
sasl.kerberos.ticket.renew.window.factor
型: double
デフォルト: 0.8
重要度: 中
動的更新: per-broker
ログインスレッドは、最後の更新からチケットの有効期限までの指定された時間のウィンドウファクターに達するまでスリープし、その時点でチケットの更新を試みます。
sasl.login.callback.handler.class
タイプ: class
デフォルト: null
重要度: 中
動的更新: 読み取り専用
AuthenticateCallbackHandler インターフェイスを実装する SASL ログインコールバックハンドラークラスの完全修飾名。ブローカーの場合、ログインコールバックハンドラー設定の前には、リスナー接頭辞 と SASL メカニズム名を小文字で指定する必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler などです。
sasl.login.class
タイプ: class
デフォルト: null
重要度: 中
動的更新: 読み取り専用
Login インターフェイスを実装するクラスの完全修飾名。ブローカーの場合、ログイン設定の前にリスナー接頭辞 と SASL メカニズム名を小文字で指定する必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin です。
sasl.login.refresh.buffer.seconds
型: short
デフォルト: 300
重要度: 中
動的更新: per-broker
クレデンシャルを更新するときに維持するクレデンシャルの有効期限が切れるまでのバッファー時間 (秒単位)。更新が、バッファ秒数よりも有効期限に近いときに発生する場合、更新は、可能な限り多くのバッファー時間を維持するために上に移動されます。設定可能な値は 0 から 3600 (1 時間) です。値を指定しない場合は、デフォルト値の 300 (5 分) が使用されます。この値および sasl.login.refresh.min.period.seconds は、その合計がクレデンシャルの残りの有効期間を超える場合にどちらも無視されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.min.period.seconds
型: short
デフォルト: 60
重要度: 中
動的更新: per-broker
ログイン更新スレッドがクレデンシャルを更新する前に待機する最小時間 (秒単位)。設定可能な値は 0 から 900 (15 分) です。値を指定しない場合は、デフォルト値の 60 (1 分) が使用されます。この値および sasl.login.refresh.buffer.seconds は、その合計がクレデンシャルの残りの有効期間を超える場合に両方とも無視されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.window.factor
型: double
デフォルト: 0.8
重要度: 中
動的更新: per-broker
ログイン更新スレッドは、クレデンシャルの有効期間との関連で指定の期間ファクターに達するまでスリープ状態になり、達成した時点でクレデンシャルの更新を試みます。設定可能な値は 0.5(50%)から 1.0(100%)までです。値が指定されていない場合、デフォルト値の 0.8(80%)が使用されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.window.jitter
型: double
デフォルト: 0.05
重要度: 中
動的更新: per-broker
ログイン更新スレッドのスリープ時間に追加されるクレデンシャルの存続期間に関連するランダムジッターの最大量。設定可能な値は 0 から 0.25(25%)です。値が指定されていない場合は、デフォルト値の 0.05(5%)が使用されます。現在、OAUTHBEARER にのみ適用されます。
sasl.mechanism.inter.broker.protocol
型: string
デフォルト: GSSAPI
重要度: 中
動的更新: per-broker
inter-broker 通信に使用される SASL メカニズム。デフォルトは GSSAPI です。
sasl.server.callback.handler.class
タイプ: class
デフォルト: null
重要度: 中
動的更新: 読み取り専用
AuthenticateCallbackHandler インターフェイスを実装する SASL サーバーコールバックハンドラークラスの完全修飾名。サーバーコールバックハンドラーの前には、リスナー接頭辞 と SASL メカニズム名を小文字で指定する必要があります。たとえば、listener.name.sasl_ssl.plain.sasl.server.callback.handler.class=com.example.CustomPlainCallbackHandler などです。
security.inter.broker.protocol
型: string
デフォルト: PLAINTEXT
重要度: 中
動的更新: 読み取り専用
inter-broker 通信に使用されるセキュリティープロトコル。有効な値は、PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。これと inter.broker.listener.name プロパティーを同時に設定するとエラーになります。
ssl.cipher.suites
タイプ: list
デフォルト: ""
重要度: 中
動的更新: ブローカーごと
暗号化スイートの一覧。これは、TLS または SSL ネットワークプロトコルを使用してネットワーク接続のセキュリティー設定をネゴシエートするために使用される認証、暗号化、MAC、および鍵交換アルゴリズムの名前付きの組み合わせです。デフォルトでは、利用可能なすべての暗号スイートがサポートされます。
ssl.client.auth
タイプ: string
デフォルト: none
有効な値: [required, requested, none]
重要度: 中
動的更新: ブローカーごと
クライアント認証を要求する kafka ブローカーを設定します。以下の設定は一般的な設定です。
-
ssl.client.auth=required
: 必要なクライアント認証が必要な場合 -
ssl.client.auth=requested
これは、クライアント認証は任意となります。要求されたとは異なり、このオプションを設定するとクライアント自体の認証情報を提供しないよう選択できることを意味します。 -
ssl.client.auth=none
: これは、クライアント認証が不要であることを意味します。
-
ssl.enabled.protocols
型: list
デフォルト: TLSv1.2、TLSv1.3
重要度: 中
動的更新: per-broker
SSL 接続で有効なプロトコルの一覧。Java 11 以降で実行する場合、デフォルトは 'TLSv1.2,TLSv1.3' で、それ以外の場合は 'TLSv1.2' になります。Java 11 のデフォルト値では、クライアントとサーバーの両方が TLSv1.3 をサポートする場合は TLSv1.3 を優先し、そうでない場合は TLSv1.2 にフォールバックします (両方が少なくとも TLSv1.2 をサポートすることを前提とします)。ほとんどの場合、このデフォルトは問題ありません。
ssl.protocol
の設定ドキュメントも参照してください。ssl.key.password
タイプ: password
デフォルト: null
重要度: 中
動的更新: ブローカーごと
キーストアファイルの秘密鍵のパスワード。これはクライアントにとってオプションになります。
ssl.keymanager.algorithm
型: string
デフォルト: SunX509
重要度: 中
動的更新: per-broker
SSL 接続のキーマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたキーマネージャーファクトリーアルゴリズムです。
ssl.keystore.location
タイプ: string
デフォルト: null
重要度: 中
動的更新: ブローカーごと
キーストアファイルの場所。これはクライアントではオプションで、クライアントの双方向認証に使用できます。
ssl.keystore.password
タイプ: password
デフォルト: null
重要度: 中
動的更新: ブローカーごと
キーストアファイルのストアパスワード。これはクライアントのオプションで、ssl.keystore.location が設定されている場合のみ必要です。
ssl.keystore.type
型: string
デフォルト: JKS
重要度: 中
動的更新: ブローカーごと
キーストアファイルのファイル形式。これはクライアントにとってオプションになります。
ssl.protocol
型: string
デフォルト: TLSv1.3
重要度: 中
動的更新: per-broker
SSLContext の生成に使用される SSL プロトコル。Java 11 以降で実行する場合、デフォルトは 'TLSv1.3' になります。それ以外の場合は 'TLSv1.2' になります。この値は、ほとんどのユースケースで問題ありません。最近の JVM で許可される値は 'TLSv1.2' および 'TLSv1.3' です。'TLS'、'TLSv1.1'、'SSL'、'SSLv2'、および 'SSLv3' は古い JVM でサポートされる可能性がありますが、既知のセキュリティー脆弱性のために使用は推奨されません。この設定のデフォルト値および 'ssl.enabled.protocols' では、サーバーが 'TLSv1.3' に対応していない場合は、クライアントは 'TLSv1.2' にダウングレードされます。この設定が 'TLSv1.2' に設定されている場合、'TLSv1.3' が ssl.enabled.protocols の値の 1 つで、サーバーが 'TLSv1.3' のみをサポートする場合でも、クライアントは 'TLSv1.3' を使用しません。
ssl.provider
タイプ: string
デフォルト: null
重要度: 中
動的更新: ブローカーごと
SSL 接続に使用されるセキュリティープロバイダーの名前。デフォルト値は JVM のデフォルトのセキュリティープロバイダーです。
ssl.trustmanager.algorithm
型: string
デフォルト: PKIX
重要度: 中
動的更新: ブローカーごと
SSL 接続のトラストマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたトラストマネージャーファクトリーアルゴリズムです。
ssl.truststore.location
タイプ: string
デフォルト: null
重要度: 中
動的更新: ブローカーごと
トラストストアファイルの場所。
ssl.truststore.password
タイプ: password
デフォルト: null
重要度: 中
動的更新: ブローカーごと
トラストストアファイルのパスワード。パスワードがトラストストアへのアクセスを設定しなくても、整合性チェックは無効になります。
ssl.truststore.type
型: string
デフォルト: JKS
重要度: 中
動的更新: ブローカーごと
トラストストアファイルのファイル形式。
zookeeper.clientCnxnSocket
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
通常、ZooKeeper への TLS 接続を使用する場合は
org.apache.zookeeper.ClientCnxnSocketNetty
に設定されます。同じ名前が付けられたzookeeper.clientCnxnSocket
システムプロパティーを介して設定された明示的な値を上書きします。zookeeper.ssl.client.enable
タイプ: boolean
デフォルト: false
重要度: 中
動的更新: 読み取り専用
ZooKeeper への接続時に TLS を使用するようにクライアントを設定します。明示的な値は、
zookeeper.client.secure
システムプロパティーを介して設定された値を上書きします (別の名前に注意してください)。どちらも設定されていない場合は false に設定されます。true の場合はzookeeper.clientCnxnSocket
を設定する必要があります (通常はorg.apache.zookeeper.ClientCnxnSocketNetty
に設定)。設定するその他の値には、zookeeper.ssl.cipher.suites
、zookeeper.ssl.crl.enable
、zookeeper.ssl.enabled.protocols
、zookeeper.ssl.endpoint.identification.algorithm
、zookeeper.ssl.keystore.location
、zookeeper.ssl.keystore.password
、zookeeper.ssl.keystore.type
、zookeeper.ssl.ocsp.enable
、zookeeper.ssl.protocol
、zookeeper.ssl.truststore.location
、zookeeper.ssl.truststore.password
、zookeeper.ssl.truststore.type
などがあります。zookeeper.ssl.keystore.location
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ZooKeeper への TLS 接続でクライアント側の証明書を使用する場合のキーストアの場所。
zookeeper.ssl.keyStore.location
システムプロパティーを介して設定された明示的な値を上書きします (camelCase に注意)。zookeeper.ssl.keystore.password
タイプ: password
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ZooKeeper への TLS 接続でクライアント側の証明書を使用する場合のキーストアパスワード。
zookeeper.ssl.keyStore.password
システムプロパティーを介して設定された明示的な値を上書きします (camelCase に注意)。ZooKeeper はキーストアパスワードとは異なるキーパスワードをサポートしないため、キーストアのキーパスワードをキーストアのパスワードと同じ値に設定してください。そうしないと、Zookeeper への接続は失敗します。zookeeper.ssl.keystore.type
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ZooKeeper への TLS 接続でクライアント側の証明書を使用する場合のキーストアタイプ。
zookeeper.ssl.keyStore.type
システムプロパティーを介して設定された明示的な値を上書きします (camelCase に注意)。null
のデフォルト値は、キーストアのファイル名のエクステンションに基づいて、タイプが自動検出されることを意味します。zookeeper.ssl.truststore.location
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ZooKeeper への TLS 接続を使用する場合のトラストストアの場所。
zookeeper.ssl.trustStore.location
システムプロパティーを介して設定された明示的な値を上書きします (camelCase に注意)。zookeeper.ssl.truststore.password
タイプ: password
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ZooKeeper への TLS 接続を使用する場合のトラストストアパスワード。
zookeeper.ssl.trustStore.password
システムプロパティーを介して設定された明示的な値を上書きします (camelCase に注意)。zookeeper.ssl.truststore.type
タイプ: string
デフォルト: null
重要度: 中
動的更新: 読み取り専用
ZooKeeper への TLS 接続を使用する場合のトラストストアタイプ。
zookeeper.ssl.trustStore.type
システムプロパティーを介して設定された明示的な値を上書きします (camelCase に注意)。デフォルト値のnull
は、タイプがトラストストアのファイル名のエクステンションに基づいて自動検出されることを意味します。alter.config.policy.class.name
タイプ: class
デフォルト: null
重要度: 低
動的更新: 読み取り専用
検証に使用する必要のある alter configs ポリシークラス。クラスは
org.apache.kafka.server.policy.AlterConfigPolicy
インターフェイスを実装する必要があります。alter.log.dirs.replication.quota.window.num
型: int
デフォルト: 11
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
ログディレクトリーレプリケーションクォータを変更するためにメモリー内に保持するサンプル数。
alter.log.dirs.replication.quota.window.size.seconds
型: int
デフォルト: 1
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
ログディレクトリーレプリケーションクォータを変更する各サンプルの期間。
authorizer.class.name
型: string
デフォルト: ""
重要度 低
動的更新: 読み取り専用
承認のためにブローカーによって使用される、sorg.apache.kafka.server.authorizer.Authorizer インターフェースを実装するクラスの完全修飾名。この設定は、以前は承認に使用されていた非推奨の kafka.security.auth.Authorizer トレイトを実装するオーソライザーもサポートします。
client.quota.callback.class
タイプ: class
デフォルト: null
重要度: 低
動的更新: 読み取り専用
ClientQuotaCallback インターフェースを実装するクラスの完全修飾名。これは、クライアント要求に適用されるクォータ制限を決定するために使用されます。デフォルトでは、ZooKeeper に保存されている <user, client-id>、<user> または <client-id> クォータが適用されます。指定されたリクエストでは、セッションのユーザープリンシパルと、リクエストのクライアントIDに一致する最も具体的なクォータが適用されます。
connection.failed.authentication.delay.ms
型: int
デフォルト: 100
有効な値: [0,…]
重要度: 低
動的更新: 読み取り専用
認証に失敗した場合の connection close 遅延:これは、認証に失敗した場合に connection close が遅延する時間(ミリ秒単位)です。これは、接続のタイムアウトを防ぐために、 connections.max.idle.ms 未満になるように設定する必要があります。
create.topic.policy.class.name
タイプ: class
デフォルト: null
重要度: 低
動的更新: 読み取り専用
検証に使用する必要があるトピックポリシークラスを作成します。クラスは
org.apache.kafka.server.policy.CreateTopicPolicy
インターフェイスを実装する必要があります。delegation.token.expiry.check.interval.ms
型: long
デフォルト: 3600000 (1 時間)
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
期限切れの委任トークンを削除する間隔をスキャンします。
kafka.metrics.polling.interval.secs
型: int
デフォルト: 10
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
kafka.metrics.reporters 実装で使用できるメトリクスポーリング間隔 (秒単位)。
kafka.metrics.reporters
タイプ: list
デフォルト: ""
重要度: 低
動的更新: 読み取り専用
Yammer メトリクスカスタムレポーターとして使用するクラスの一覧。レポーターは
kafka.metrics.KafkaMetricsReporter
トレイトを実装する必要があります。クライアントがカスタムレポーターで JMX 操作を公開する必要がある場合、カスタムレポーターはkafka.metrics.KafkaMetricsReporterMBean
トレイトを拡張する MBean トレイトを追加で実装し、登録された MBean が標準の MBean 規則に準拠するようにする必要があります。listener.security.protocol.map
型: string
デフォルト: PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
重要度: low
動的更新: per-broker
リスナー名とセキュリティープロトコル間のマッピング。これは、複数のポートまたは IP で同じセキュリティープロトコルを使用できるように定義する必要があります。たとえば、SSL が両方に必要であっても、内部トラフィックと外部トラフィックは分離することができます。具体的には、ユーザーは INTERNAL および EXTERNAL という名前のリスナーを定義し、このプロパティーを
INTERNAL:SSL,EXTERNAL:SSL
のように定義できます。表示されているように、キーと値はコロンで区切られ、マップエントリーはコンマで区切ります。各リスナー名はマップで一度だけ表示されます。設定名に正規化された接頭辞 (リスナー名は小文字) を追加して、各リスナーに異なるセキュリティー (SSL および SASL) 設定を設定できます。たとえば、INTERNAL リスナーに異なるキーストアを設定するには、listener.name.internal.ssl.keystore.location
という名前の設定が設定されます。リスナー名の設定が設定されていない場合、設定は汎用設定(ssl.keystore.location
など)にフォールバックします。log.message.downconversion.enable
タイプ: boolean
デフォルト: true
重要度: 低
動的更新: クラスター全体
この設定は、消費リクエストを満たすためにメッセージ形式のダウンコンバートを有効にするかどうかを制御します。
false
に設定すると、ブローカーは古いメッセージ形式を想定しているコンシューマーに対してダウンコンバートを実行しません。ブローカーは、そのような古いクライアントからの消費リクエストに対して、UNSUPPORTED_VERSION
エラーを返します。この設定は、フォロワーへのレプリケーションに必要なメッセージ形式の変換には適用されません。metric.reporters
タイプ: list
デフォルト: ""
重要度: 低
動的更新: クラスター全体
メトリクスレポーターとして使用するクラスの一覧。
org.apache.kafka.common.metrics.MetricsReporter
インターフェイスを実装すると、新しいメトリクスの作成が通知されるクラスのプラグが可能になります。JmxReporter は、JMX 統計を登録するために常に含まれます。metrics.num.samples
型: int
デフォルト: 2
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
メトリクスを計算するために保持されるサンプルの数。
metrics.recording.level
型: string
デフォルト: INFO
重要度 低
動的更新: 読み取り専用
メトリクスの最も高い記録レベル。
metrics.sample.window.ms
型: long
デフォルト: 30000 (30 秒)
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
メトリクスサンプルが計算される時間枠。
password.encoder.cipher.algorithm
型: string
デフォルト: AES/CBC/PKCS5Padding
重要度: 低
動的更新: 読み取り専用
動的に設定されたパスワードをエンコードする際に使用する暗号アルゴリズム。
password.encoder.iterations
型: int
デフォルト: 4096
有効な値: [1024,…]
重要度: 低
動的更新: 読み取り専用
動的に設定されたパスワードのエンコードに使用される反復カウント。
password.encoder.key.length
型: int
デフォルト: 128
有効な値: [8,…]
重要度: 低
動的更新: 読み取り専用
動的に設定されたパスワードをエンコードするために使用されるキーの長さ。
password.encoder.keyfactory.algorithm
タイプ: string
デフォルト: null
重要度: 低
動的更新: 読み取り専用
動的に設定されたパスワードをエンコードするのに使用される SecretKeyFactory アルゴリズム。それ以外の場合は、デフォルトで PBKDF2WithHmacSHA512 および PBKDF2WithHmacSHA1 になります。
quota.window.num
型: int
デフォルト: 11
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
クライアントクォータのメモリー内に保持するサンプル数。
quota.window.size.seconds
型: int
デフォルト: 1
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
クライアントクォータの各サンプルの時間の長さ。
replication.quota.window.num
型: int
デフォルト: 11
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
レプリケーションクォータのメモリーに保持するサンプル数。
replication.quota.window.size.seconds
型: int
デフォルト: 1
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
レプリケーションクォータの各サンプルの期間。
security.providers
タイプ: string
デフォルト: null
重要度: 低
動的更新: 読み取り専用
設定可能なクリエータークラスのリストで、それぞれがセキュリティーアルゴリズムを実装するプロバイダーを返します。これらのクラスは
org.apache.kafka.common.security.auth.SecurityProviderCreator
インターフェイスを実装する必要があります。ssl.endpoint.identification.algorithm
タイプ: string
デフォルト: https
重要度: 低
動的更新: ブローカーごと
サーバー証明書を使用してサーバーのホスト名を検証するエンドポイント識別アルゴリズム。
ssl.engine.factory.class
タイプ: class
デフォルト: null
重要度: 低
動的更新: ブローカーごと
SSLEngine オブジェクトを提供する org.apache.kafka.common.security.auth.SslEngineFactory タイプのクラス。デフォルト値はorg.apache.kafka.common.security.ssl.DefaultSslEngineFactory です。
ssl.principal.mapping.rules
型: string
デフォルト: DEFAULT
重要度 低
動的更新: 読み取り専用
クライアント証明書の識別名から短縮名にマッピングするためのルールのリスト。ルールは順番に評価され、プリンシパル名と一致する最初のルールは、これを短縮名にマップするために使用されます。一覧の後続のルールは無視されます。デフォルトでは、X.500 証明書の識別名はプリンシパルになります。形式の詳細は、 security authorization and acls を参照してください。この設定は、
principal.builder.class
設定によって KafkaPrincipalBuilder のエクステンションが提供される場合は無視されます。ssl.secure.random.implementation
タイプ: string
デフォルト: null
重要度: 低
動的更新: ブローカーごと
SSL 暗号操作に使用する SecureRandom PRNG 実装。
transaction.abort.timed.out.transaction.cleanup.interval.ms
型: int
デフォルト: 10000 (10 秒)
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
タイムアウトしたトランザクションをロールバックする間隔。
transaction.remove.expired.transaction.cleanup.interval.ms
型: int
デフォルト: 3600000 (1 時間)
有効な値: [1,…]
重要度: 低
動的更新: 読み取り専用
transactional.id.expiration.ms
を渡すために期限切れとなったトランザクションを削除する間隔。zookeeper.ssl.cipher.suites
タイプ: list
デフォルト: null
重要度: 低
動的更新: 読み取り専用
ZooKeeper TLS negotiation(csv)で使用される有効な暗号スイートを指定します。
zookeeper.ssl.ciphersuites
システムプロパティーを介して設定された明示的な値を上書きします ("ciphersuites" という単語に注意)。デフォルト値のnull
は、有効な暗号スイートのリストが、使用される Java ランタイムによって決定されることを意味します。zookeeper.ssl.crl.enable
タイプ: boolean
デフォルト: false
重要度: 低
動的更新: 読み取り専用
ZooKeeper TLS プロトコルで、証明書失効リストを有効にするかどうかを指定します。
zookeeper.ssl.crl
システムプロパティーを介して設定された明示的な値を上書きします (短い名前に注意)。zookeeper.ssl.enabled.protocols
タイプ: list
デフォルト: null
重要度: 低
動的更新: 読み取り専用
ZooKeeper TLS negotiation(csv)で有効なプロトコルを指定します。
zookeeper.ssl.enabledProtocols
システムプロパティーを介して設定された明示的な値を上書きします (camelCase に注意)。デフォルト値のnull
は、有効化されたプロトコルがzookeeper.ssl.protocol
設定プロパティーの値になることを意味します。zookeeper.ssl.endpoint.identification.algorithm
型: string
デフォルト: HTTPS
重要度: 低
動的更新: 読み取り専用
ZooKeeper TLS ネゴシエーションプロセスのホスト名検証を有効にするかどうかを指定します。この場合 (大文字小文字を区別しない) "https" は ZooKeeper ホスト名の検証が有効で、明示的な空白値は無効であることを意味します (無効にすることはテスト目的でのみ推奨されます)。明示的な値は、
zookeeper.ssl.hostnameVerification
システムプロパティーを介して設定される "true" または "false" の値を上書きします (異なる名前と値に注意してください。true は https を意味し、false は空白を意味します)。zookeeper.ssl.ocsp.enable
タイプ: boolean
デフォルト: false
重要度: 低
動的更新: 読み取り専用
ZooKeeper TLS プロトコルで Online Certificate Status Protocol を有効にするかどうかを指定します。
zookeeper.ssl.ocsp
システムプロパティーを介して設定した明示的な値を上書きします (短い名前に注意)。zookeeper.ssl.protocol
型: string
デフォルト: TLSv1.2
重要度: 低
動的更新: 読み取り専用
ZooKeeper TLS ネゴシエーションで使用されるプロトコルを指定します。明示的な値は、同じ名前が付けられた
zookeeper.ssl.protocol
システムプロパティーで設定された値を上書きします。zookeeper.sync.time.ms
型: int
デフォルト: 2000 (2 秒)
重要度: 低
動的更新: 読み取り専用
ZK フォロワーが ZK リーダーの後ろにどれだけ遅れることができるか