ドキュメント
Kafka 2.7 Documentation
以前のリリース: 0.7.x, 0.8.0, 0.8.1.X, 0.8.2.X, 0.9.0.X, 0.10.0.X, 0.10.1.X, 0.10.2.X, 0.11.0.X, 1.0.X, 1.1.X, 2.0.X, 2.1.X, 2.2.X, 2.3.X, 2.4.X, 2.5.X, 2.6.X.3. 設定
Kafka は設定のためにプロパティ ファイル形式のキー-値ペアを使います。これらの値はファイルまたはプログラムのどちらかで提供することができます。3.1ブロッカーの設定
重要な設定は以下の通りです:broker.id
log.dirs
zookeeper.connect
-
zookeeper.connect
hostname:port
の形式でZookeeperの接続文字列を指定します。ここでhostとportはZooKeeperサーバのホストとポートです。Zookeeperのマシーンがダウンしている時に他のZooKeeperノードを経由して接続できるようにするために、hostname1:port1,hostname2:port2,hostname3:port3
の形式で複数のホストを指定することもできます。
サーバはデータをグローバルなZooKeeper名前空間内の何らかのパスの下に置くZooKeeper接続文字列の一部として、ZooKeeperのchrootパスも持つこともできます。例えば、/chroot/path
のchrootパスを指定するために、hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
として接続文字列を指定するでしょう。Type: 文字列 デフォルト: 有効な値: 重要: high 更新モード: read-only -
advertised.host.name
非推奨:
advertised.listeners
またはlisteners
が設定されていない場合にのみ使われます。代わりにadvertised.listeners
を使ってください。
クライアントが使うためにZooKeeperに公開されるホスト名。IaaS 環境では、これはブローカーがバインドするインタフェースとは異なる必要があるかも知れません。これが設定されない場合、設定されていればhost.name
の値が使われるでしょう。そうでなければ、java.net.InetAddress.getCanonicalHostName() から返される値を使うでしょう。Type: 文字列 デフォルト: null 有効な値: 重要: high 更新モード: read-only -
advertised.listeners
listeners
設定プロパティと異なる場合、クライアントが使用するZooKeeperに公開されるリスナー。IaaS 環境では、これはブローカーがバインドするインタフェースとは異なる必要があるかも知れません。これが設定されない場合は、listeners
の値が使われるでしょう。Unlikelisteners
, it is not valid to advertise the 0.0.0.0 meta-address.
Also unlikelisteners
, there can be duplicated ports in this property, so that one listener can be configured to advertise another listener's address. This can be useful in some cases where external load balancers are used.Type: 文字列 デフォルト: null 有効な値: 重要: high 更新モード: per-broker -
advertised.port
非推奨:
advertised.listeners
またはlisteners
が設定されていない場合にのみ使われます。代わりにadvertised.listeners
を使ってください。
クライアントが使用するZooKeeperへ公開されるポート。IaaS 環境では、これはブローカーがバインドするポートとは異なる必要があるかも知れません。設定されない場合は、ブローカーがバインドする同じポートを公開するでしょう。Type: dint デフォルト: null 有効な値: 重要: high 更新モード: read-only -
auto.create.topics.enable
サーバ上でのトピックの自動生成を有効
Type: boolean デフォルト: true 有効な値: 重要: high 更新モード: read-only -
auto.leader.rebalance.enable
自動リーダーバランシングを有効にする。バックグランドのスレッドは、`leader.imbalance.check.interval.seconds` で設定される、定期的な間隔でパーティションのリーダーの分布をチェックします。リーダーの不均衡が `leader.imbalance.per.broker.percentage` を超えると、パーティションの優先リーダーへのリーダーの再バランスが引き起こされます。
Type: boolean デフォルト: true 有効な値: 重要: high 更新モード: read-only -
background.threads
様々なバックグラウンド処理タスクが使うスレッドの数
Type: dint デフォルト: 10 有効な値: [1,...] 重要: high 更新モード: cluster-wide -
broker.id
このサーバのためのブローカーid。設定しない場合はユニークなブローカーidが生成されるでしょう。zookeeperが生成したブローカーidとユーザ定義のブローカーidが衝突することを避けるために、生成されるブローカーidは reserved.broker.max.id + 1 から始まります。
Type: dint デフォルト: -1 有効な値: 重要: high 更新モード: read-only -
compression.type
指定されたトピックのための最終的な圧縮タイプを指定する。この設定は標準的な圧縮コーディック('gzip', 'snappy', 'lz4', 'zstd')を受け付けます。更に、非圧縮に相当する 'uncompressed'; プロデューサによって設定された元の圧縮コーディックを保持することを意味する'producer' を受け付けます。
Type: 文字列 デフォルト: producer 有効な値: 重要: high 更新モード: cluster-wide -
control.plane.listener.name
コントローラとブローカー間の通信に使われるリスナー名。ブローカーは control.plane.listener.name を使用してリスナー リストの中でエンドポイントを見つけ、コントローラからの接続をlistenします。例えば、ブローカーの設定が以下の場合: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
起動時に、ブローカーはセキュリティプロトコル "SSL" を使って "192.1.1.8:9094" で listen します。コントローラ側では、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になり、コントローラの接続のための専用のエンドポイントはありません。Type: 文字列 デフォルト: null 有効な値: 重要: high 更新モード: read-only -
delete.topic.enable
トピックの削除を有効にする。この設定が切られている場合は管理ツールを使ったトピックの削除は何も効果が無いでしょう。
Type: boolean デフォルト: true 有効な値: 重要: high 更新モード: read-only -
host.name
非推奨:
listeners
が設定されていない場合にのみ使われます。代わりにlisteners
を使ってください。
ブローカーのホスト名。これが設定されている場合は、このアドレスへのみバインドするでしょう。これが設定されていない場合は、全てのインタフェースにバインドするでしょう。Type: 文字列 デフォルト: "" 有効な値: 重要: high 更新モード: read-only -
leader.imbalance.check.interval.seconds
コントローラによって起動されるパーティションのリバランスの調査の頻度
Type: long デフォルト: 300 有効な値: 重要: high 更新モード: read-only -
leader.imbalance.per.broker.percentage
ブローカーあたりに許可されるリーダーの非バランスの割合。ブローカー毎にこの値を超えた場合は、コントローラーはリーダーのバランスを開始するでしょう。値はパーセンテージで指定されます。
Type: dint デフォルト: 10 有効な値: 重要: high 更新モード: read-only -
リスナー
リスナーのリスト - listenするURIのカンマ区切りのリストとリスナー名。If the listener name is not a security protocol,
listener.security.protocol.map
must also be set.
Listener names and port numbers must be unique.
Specify hostname as 0.0.0.0 to bind to all interfaces.
Leave hostname empty to bind to default interface.
Examples of legal listener lists:
PLAINTEXT://myhost:9092,SSL://:9091
CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093Type: 文字列 デフォルト: null 有効な値: 重要: high 更新モード: per-broker -
log.dir
ログデータが保持されるディレクトリ (log.dirs プロパティの補足)
Type: 文字列 デフォルト: /tmp/kafka-logs 有効な値: 重要: high 更新モード: read-only -
log.dirs
ログデータが保持されるディレクトリ。設定しない場合は、log.dirの値が使われます
Type: 文字列 デフォルト: null 有効な値: 重要: high 更新モード: read-only -
log.flush.interval.messages
メッセージがディスクにフラッシュされる前にログパーティション上で集約されるメッセージの数
Type: long デフォルト: 9223372036854775807 有効な値: [1,...] 重要: high 更新モード: cluster-wide -
log.flush.interval.ms
メモリ内に保持されたメッセージがディスクにフラッシュされるまでの最大ms。設定されていない場合は、log.flush.scheduler.interval.ms の値が使われます。
Type: long デフォルト: null 有効な値: 重要: high 更新モード: cluster-wide -
log.flush.offset.checkpoint.interval.ms
ログの回復ポイントとして振舞う最後のフラッシュの永続レコードを更新する頻度
Type: dint デフォルト: 60000 (1 分) 有効な値: [0,...] 重要: high 更新モード: read-only -
log.flush.scheduler.interval.ms
ログがディスクにフラッシュされる必要があるかどうかをログのフラッシャーがチェックする頻度
Type: long デフォルト: 9223372036854775807 有効な値: 重要: high 更新モード: read-only -
log.flush.start.offset.checkpoint.interval.ms
ログの開始オフセットの永続レコードを更新する頻度
Type: dint デフォルト: 60000 (1 分) 有効な値: [0,...] 重要: high 更新モード: read-only -
log.retention.bytes
ログが削除されるまでの最大サイズ。
Type: long デフォルト: -1 有効な値: 重要: high 更新モード: cluster-wide -
log.retention.hours
ログを削除するまで保持する時間の数(時間単位)、log.retention.ms プロパティの3つめのパラメータ
Type: dint デフォルト: 168 有効な値: 重要: high 更新モード: read-only -
log.retention.minutes
ログを削除するまで保持する分の数(分単位)、log.retention.ms プロパティの2つめのパラメータ設定しない場合は、log.retention.hours の値が使われます。
Type: dint デフォルト: null 有効な値: 重要: high 更新モード: read-only -
log.retention.ms
ログファイルが削除されるまでに保持されるミリ秒数。設定されない場合は、log.retention.minutes の値が使われます。-1に設定される場合、時間の制限無しが適用されます。
Type: long デフォルト: null 有効な値: 重要: high 更新モード: cluster-wide -
log.roll.hours
新しいログのセグメントがロールアウトされるまでの最大時間(時間単位)、log.roll.ms プロパティの2つ目のパラメータ
Type: dint デフォルト: 168 有効な値: [1,...] 重要: high 更新モード: read-only -
log.roll.jitter.hours
logRollTimeMillis から差し引く最大のジッター (時間単位)、log.roll.jitter.ms プロパティの2つ目のパラメータ
Type: dint デフォルト: 0 有効な値: [0,...] 重要: high 更新モード: read-only -
log.roll.jitter.ms
logRollTimeMillis から差し引く最大のジッター (ミリ秒)。設定しない場合は、log.roll.jitter.hours の値が使われます
Type: long デフォルト: null 有効な値: 重要: high 更新モード: cluster-wide -
log.roll.ms
新しいログの断片がロールアウトされるまでの最大時間(ミリ秒)。設定しない場合は、log.roll.hours の値が使われます
Type: long デフォルト: null 有効な値: 重要: high 更新モード: cluster-wide -
log.segment.bytes
1つのログファイルの最大サイズ
Type: dint デフォルト: 1073741824 (1 gibibyte) 有効な値: [14,...] 重要: high 更新モード: cluster-wide -
log.segment.delete.delay.ms
ファイルシステムからファイルを削除するまでの総待ち時間
Type: long デフォルト: 60000 (1 分) 有効な値: [0,...] 重要: high 更新モード: cluster-wide -
message.max.bytes
Kafkaで可能な最も大きなレコードのバッチサイズ (圧縮が有効な場合は圧縮後)。これが増え、0.10.2より古いコンシューマがある場合、コンシューマがこの大きさのレコードバッチを取得できるようにコンシューマの取得サイズも増やす必要があります。最新のメッセージフォーマットのバージョンでは、効率化のためにレコードは常にバッチにグループ化されます。以前のメッセージフォーマットのバージョンでは、圧縮されていないレコードはバッチにグループ化されず、この制限は1つのレコードにのみ適用されます。これは、トピックレベル
max.message.bytes
設定を使ってトピックごとに設定できます。Type: dint デフォルト: 1048588 有効な値: [0,...] 重要: high 更新モード: cluster-wide -
min.insync.replicas
プロデューサがackを "all" (あるいは "-1") に設定する場合、min.insync.replicasは書き込みが成功したと見なされるように書き込みを知らせる必要があるレプリカの最小数を指定します。この最小限に一致しない場合、プロデューサは例外(NotEnoughReplicas あるいは NotEnoughReplicasAfterAppendのどちらか)を上げるでしょう。
一緒に使った場合、min.insync.replicas と acks は素晴らしい耐久性の保証を強化することができます。典型的なシナリオは、3つのレプリケーション ファクターを持つトピックを生成し、min.insync.replicas を 2 に設定し、"all" のackを使って生成します。これは、もしレプリカの過半数が書き込みを受け取らなかった場合にプロデューサが例外を上げることを保証するでしょう。Type: dint デフォルト: 1 有効な値: [1,...] 重要: high 更新モード: cluster-wide -
num.io.threads
サーバがリクエストの処理のために使用するスレッド数。ディスク I/Oが含まれるかもしれません。
Type: dint デフォルト: 8 有効な値: [1,...] 重要: high 更新モード: cluster-wide -
num.network.threads
サーバがネットワークからリクエストを受け取り、応答をネットワークに送信するために使われるスレッドの数。
Type: dint デフォルト: 3 有効な値: [1,...] 重要: high 更新モード: cluster-wide -
num.recovery.threads.per.data.dir
起動時のログの回復とシャットダウン時にフラッシュするために使われるデータディレクトリあたりのスレッドの数。
Type: dint デフォルト: 1 有効な値: [1,...] 重要: high 更新モード: cluster-wide -
num.replica.alter.log.dirs.threads
レプリカをログディレクトリ間で移動できるスレッド数。ディスク I/Oが含まれるかもしれません。
Type: dint デフォルト: null 有効な値: 重要: high 更新モード: read-only -
num.replica.fetchers
ソースブローカーからメッセージをリプリケートするために使われるフェッチスレッドの数。この値を増加することで追随するブローカーのI/O並行度の度合いを増やすことができます。
Type: dint デフォルト: 1 有効な値: 重要: high 更新モード: cluster-wide -
offset.metadata.max.bytes
オフセット コミットに関連するメタデータ エントリのための最大サイズ。
Type: dint デフォルト: 4096 (4 kibibytes) 有効な値: 重要: high 更新モード: read-only -
offsets.commit.required.acks
コミットが受け付けられるまでに必要とされるack。通常はデフォルト(-1)を上書くべきではありません
Type: short デフォルト: -1 有効な値: 重要: high 更新モード: read-only -
offsets.commit.timeout.ms
オフセット トピックのための全てのレプリカがコミットを受け取るか、このタイムアウトに達するまで、オフセットコミットは遅延するでしょう。これはプロデューサのリクエストタイムアウトに似ています。
Type: dint デフォルト: 5000 (5 秒) 有効な値: [1,...] 重要: high 更新モード: read-only -
offsets.load.buffer.size
オフセットをキャッシュにロードする時にオフセット セグメントから読み込むためのバッチサイズ (ソフト制限。レコードがあまりに大きい場合は上書きされます)。
Type: dint デフォルト: 5242880 有効な値: [1,...] 重要: high 更新モード: read-only -
offsets.retention.check.interval.ms
stale オフセットをチェックする頻度
Type: long デフォルト: 600000 (10 分) 有効な値: [1,...] 重要: high 更新モード: read-only -
offsets.retention.minutes
コンシューマ グループが全てのコンシューマを失った (つまり空になった)後、破棄される前にこの保持期間の間オフセットが保持されます。スタンドアローン コンシューマについては(手動割り当てを使用)、最後のコミットの時刻とこの保持期間の後に期限切れになります。
Type: dint デフォルト: 10080 有効な値: [1,...] 重要: high 更新モード: read-only -
offsets.topic.compression.codec
オフセットトピックのための圧縮コーディック - 圧縮は "atomic" コミットを実現するために使われるかも知れません
Type: dint デフォルト: 0 有効な値: 重要: high 更新モード: read-only -
offsets.topic.num.partitions
オフセット コミット トピックのためのパーティション数 (配備の後で変更すべきではありません)
Type: dint デフォルト: 50 有効な値: [1,...] 重要: high 更新モード: read-only -
offsets.topic.replication.factor
オフセット トピックのためのリプリケーション要素 (可用性を保証するするために高く設定します)。クラスタのサイズがこのリプリケーション要素の要請に合うまで、内部的な自動トピックの生成は失敗するでしょう。
Type: short デフォルト: 3 有効な値: [1,...] 重要: high 更新モード: read-only -
offsets.topic.segment.bytes
ログの圧縮とキャッシュのロードを速くし易いように、オフセットトピックのセグメントのバイトは比較的小さくすべきです。
Type: dint デフォルト: 104857600 (100 mebibytes) 有効な値: [1,...] 重要: high 更新モード: read-only -
port
非推奨:
listeners
が設定されていない場合にのみ使われます。代わりにlisteners
を使ってください。
接続をlistenし、そして受け付けるポートType: dint デフォルト: 9092 有効な値: 重要: high 更新モード: read-only -
queued.max.requests
ネットワークスレッドをブロックするまでにdata-planeに許容されるリクエストのキューの数
Type: dint デフォルト: 500 有効な値: [1,...] 重要: high 更新モード: read-only -
quota.consumer.default
非推奨: 動的なデフォルトのクォートがZookeeprのために
あるいは その中で設定されていない時のみ使われます。クライアントid/コンシューマグループによって区別される全てのコンシューマは、秒間あたりのこの値より多くのバイトを取得する場合に絞られるでしょう。 Type: long デフォルト: 9223372036854775807 有効な値: [1,...] 重要: high 更新モード: read-only -
quota.producer.default
非推奨: 動的なデフォルトのクォートがZookeeprのために
あるいは その中で設定されていない時のみ使われます。クライアントid/コンシューマグループによって区別される全てのプロデューサは、秒間あたりのこの値より多くのバイトを生成する場合に絞られるでしょう。 Type: long デフォルト: 9223372036854775807 有効な値: [1,...] 重要: high 更新モード: read-only -
replica.fetch.min.bytes
各フェッチ応答に期待される最小バイト。If not enough bytes, wait up to
replica.fetch.wait.max.ms
(broker config).Type: dint デフォルト: 1 有効な値: 重要: high 更新モード: read-only -
replica.fetch.wait.max.ms
随行するレプリカによって発行された各フェッチリクエストの最大待ち時間。この値は低いスループットのトピックについてISRの縮小を避けるために常にreplica.lag.time.max.ms より少ない必要があります。
Type: dint デフォルト: 500 有効な値: 重要: high 更新モード: read-only -
replica.high.watermark.checkpoint.interval.ms
高いウォーターマークがディスクに保存される頻度
Type: long デフォルト: 5000 (5 秒) 有効な値: 重要: high 更新モード: read-only -
replica.lag.time.max.ms
もしフォロワーが何も取得リクエストを送信していないか、少なくともこの時までリーダーログの終了オフセットまで消費をしていない場合、リーダーはisrからフォロワーを削除するでしょう。
Type: long デフォルト: 30000 (30 秒) 有効な値: 重要: high 更新モード: read-only -
replica.socket.receive.buffer.bytes
ネットワークリクエストのためのソケット受信バッファ
Type: dint デフォルト: 65536 (64 kibibytes) 有効な値: 重要: high 更新モード: read-only -
replica.socket.timeout.ms
ネットワークリクエストのためのソケットタイムアウト。値は少なくとも replica.fetch.wait.max.ms でなければなりません。
Type: dint デフォルト: 30000 (30 秒) 有効な値: 重要: high 更新モード: read-only -
request.timeout.ms
この設定はクライアントがリクエストの応答を待つ総時間の最大を制御します。タイムアウトの時間が経過する前に応答が受信されない場合は、必要であればクライアントはリクエストを再送信するでしょう。あるいは再試行が使い尽くされた場合は失敗するでしょう。
Type: dint デフォルト: 30000 (30 秒) 有効な値: 重要: high 更新モード: read-only -
socket.receive.buffer.bytes
ソケットサーバのソケットの SO_RCVBUF バッファ値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 102400 (100 kibibytes) 有効な値: 重要: high 更新モード: read-only -
socket.request.max.bytes
ソケットリクエスト内の最大バイト数
Type: dint デフォルト: 104857600 (100 mebibytes) 有効な値: [1,...] 重要: high 更新モード: read-only -
socket.send.buffer.bytes
ソケットサーバのソケットの SO_SNDBUF バッファ値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 102400 (100 kibibytes) 有効な値: 重要: high 更新モード: read-only -
transaction.max.timeout.ms
トランザクションに許されるタイムアウトの最大。クライアントがリクエストしたトランザクション時間がこれを超えると、ブローkーアは InitProducerIdRequest 内でエラーを返すでしょう。これによりクライアントはあまりに大きいタイムアウトを避けることができます。これはトランザクションに含まれるトピックからのコンシューマの読み込みを立ち往生させるかもしれません。
Type: dint デフォルト: 900000 (15 minutes) 有効な値: [1,...] 重要: high 更新モード: read-only -
transaction.state.log.load.buffer.size
プロデューサidとトランザクションをキャッシュにロードする時にトランザクション ログから読み込むためのバッチサイズ (ソフト制限。レコードがあまりに大きい場合は上書きされます)。
Type: dint デフォルト: 5242880 有効な値: [1,...] 重要: high 更新モード: read-only -
transaction.state.log.min.isr
トランザクション トピックのための min.insync.replicas 設定を上書きします。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: high 更新モード: read-only -
transaction.state.log.num.partitions
トランザクション トピックのためのパーティション数 (配備の後で変更すべきではありません)
Type: dint デフォルト: 50 有効な値: [1,...] 重要: high 更新モード: read-only -
transaction.state.log.replication.factor
トランザクション トピックのためのリプリケーション要素 (可用性を保証するするために高く設定します)。クラスタのサイズがこのリプリケーション要素の要請に合うまで、内部的な自動トピックの生成は失敗するでしょう。
Type: short デフォルト: 3 有効な値: [1,...] 重要: high 更新モード: read-only -
transaction.state.log.segment.bytes
ログの圧縮とキャッシュのロードを速くし易いように、トランザクション トピックのセグメントのバイトは比較的小さくすべきです。
Type: dint デフォルト: 104857600 (100 mebibytes) 有効な値: [1,...] 重要: high 更新モード: read-only -
transactional.id.expiration.ms
トランザクションコーディネータがトランザクション id を期限切れにする前に、現在のトランザクションのトランザクションステータスの更新を受信せずに待機するミリ秒単位の時間。この設定はプロデューサ id の有効期限にも例狂します - プロデューサ id は、指定されたプロデューサ id での最後の書き込みからこの時間が経過すると期限切れになります。トピックの保持設定が原因でプロデューサ id からの最後の書き込みが削除された場合、プロデューサ id はより早く期限切れになる可能性があることに注意してください。
Type: dint デフォルト: 604800000 (7 日) 有効な値: [1,...] 重要: high 更新モード: read-only -
unclean.leader.election.enable
データの喪失に繋がるとしても、最後の手段としてリーダーとして選出されるように設定されたISRに無いレプリカを有効にするかどうかを示す。
Type: boolean デフォルト: false 有効な値: 重要: high 更新モード: cluster-wide -
zookeeper.connection.timeout.ms
クライアントがzookeeperに接続を確立するまで待つ最大時間。設定しない場合は、zookeeper.session.timeout.ms の値が使われます
Type: dint デフォルト: null 有効な値: 重要: high 更新モード: read-only -
zookeeper.max.in.flight.requests
クライアントがブロックの前にZookeeperに送信するだろう返事の無いリクエストの最大数。
Type: dint デフォルト: 10 有効な値: [1,...] 重要: high 更新モード: read-only -
zookeeper.session.timeout.ms
Zookeeper セッション タイムアウト
Type: dint デフォルト: 18000 (18 seconds) 有効な値: 重要: high 更新モード: read-only -
zookeeper.set.acl
クライアントにsecure ACLを使うように設定します
Type: boolean デフォルト: false 有効な値: 重要: high 更新モード: read-only -
broker.id.generation.enable
サーバ上で自動ブローカーid生成を有効にする有効にされた場合、reserved.broker.max.id に設定された値は再調査されるべきです。
Type: boolean デフォルト: true 有効な値: 重要: medium 更新モード: read-only -
broker.rack
ブローカーのラック。これはラックを気にするリプリケーションアサインメントで耐障害性のために使われます。例: `RACK1`, `us-east-1d`
Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
connections.max.idle.ms
アイドル接続タイムアウト: サーバソケットプロセッサ スレッドはこれより多いアイドルの接続を閉じます
Type: long デフォルト: 600000 (10 分) 有効な値: 重要: medium 更新モード: read-only -
connections.max.reauth.ms
明示的に正の値 (デフォルトは正の数ではなく 0)に設定すると、設定された値を超えないセッション生存期間は認証時に v2.2.0 以降のクライアントに通信されます。ブローカーは、セッションの生存期間中に再認証されずその後再認証以外の目的で使われる接続を切断します。オプションで、設定名の前にリスナーの接頭辞と小文字のSASL機構の名前を付けることができます。例えば、listener.name.sasl_ssl.oauthbearer.connections.max.reauth.ms=3600000
Type: long デフォルト: 0 有効な値: 重要: medium 更新モード: read-only -
controlled.shutdown.enable
サーバの制御されたシャットダウンを有効にする
Type: boolean デフォルト: true 有効な値: 重要: medium 更新モード: read-only -
controlled.shutdown.max.retries
制御されたシャットダウンは複数の理由で失敗するかも知れません。これはそのような障害が起きた時の再試行の数を決定します
Type: dint デフォルト: 3 有効な値: 重要: medium 更新モード: read-only -
controlled.shutdown.retry.backoff.ms
各再試行の前に、システムは以前の障害(コントローラのフェイルオーバー、ログのリプリカ)を起こす状態から回復するための時間が必要です。この設定は再試行の前に待つ総時間を決定します。
Type: long デフォルト: 5000 (5 秒) 有効な値: 重要: medium 更新モード: read-only -
controller.socket.timeout.ms
コントローラ-ブローカー チャンネルのためのソケットタイムアウト
Type: dint デフォルト: 30000 (30 秒) 有効な値: 重要: medium 更新モード: read-only -
default.replication.factor
自動的に生成されたトピックのためのデフォルトのリプリケーション要素
Type: dint デフォルト: 1 有効な値: 重要: medium 更新モード: read-only -
delegation.token.expiry.time.ms
トークンが新しくされる必要があるまでのトークンの有効時間のミリ秒数。デフォルトの値は1日です。
Type: long デフォルト: 86400000 (1 日) 有効な値: [1,...] 重要: medium 更新モード: read-only -
delegation.token.master.key
移譲トークンを生成および検証するためのマスター/秘密キー。全てのブローカーに渡って同じキーが設定されなければなりません。もしキーが設定されていないか空の文字列に設定される場合、ブローカーは移譲トークンのサポートを無効にするでしょう。
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
delegation.token.max.lifetime.ms
トークンがもう新しくされることが無いような最大の生存期間を持ちます。デフォルトの値は7日です。
Type: long デフォルト: 604800000 (7 日) 有効な値: [1,...] 重要: medium 更新モード: read-only -
delete.records.purgatory.purge.interval.requests
レコード削除のリクエストのパージの間隔(リクエストの数)
Type: dint デフォルト: 1 有効な値: 重要: medium 更新モード: read-only -
fetch.max.bytes
フェッチリクエストで返される最大バイト数。少なくとも 1024 でなければなりません。
Type: dint デフォルト: 57671680 (55 mebibytes) 有効な値: [1024,...] 重要: medium 更新モード: read-only -
fetch.purgatory.purge.interval.requests
取得リクエストのパージ間隔(リクエストの数)
Type: dint デフォルト: 1000 有効な値: 重要: medium 更新モード: read-only -
group.initial.rebalance.delay.ms
グループコーディネーターが最初のリバランスを実施する前にもっと多くのコンシューマが新しいグループに入るのを待つ総時間。より大きな遅延は潜在的にリバランスが少ないことを意味しますが、処理が始まるまでの時間が増加します。
Type: dint デフォルト: 3000 (3 秒) 有効な値: 重要: medium 更新モード: read-only -
group.max.session.timeout.ms
登録されたカスタマのための最大許可セッションタイムアウト。タイムアウトを長くすることでコンシューマは障害の検知までの長い時間を代償にハートビート間のメッセージの処理時間を長くします。
Type: dint デフォルト: 1800000 (30 minutes) 有効な値: 重要: medium 更新モード: read-only -
group.max.size
単一のコンシューマグループが提供可能なコンシューマの最大数。
Type: dint デフォルト: 2147483647 有効な値: [1,...] 重要: medium 更新モード: read-only -
group.min.session.timeout.ms
登録されたカスタマのための最小許可セッションタイムアウト。タイムアウトを短くするとコンシューマーのハートビートの高頻度という代償を払って障害の検知が速くなります。これはブローカーのリソースを圧倒するかもしれません。
Type: dint デフォルト: 6000 (6 秒) 有効な値: 重要: medium 更新モード: read-only -
inter.broker.listener.name
ブローカー間の通信に使われるリスナー名。これが設定されない場合、リスナー名は security.inter.broker.protocol によって定義されます。これを設定して同時に security.inter.broker.protocol プロパティを設定するのは間違いです。
Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
inter.broker.protocol.version
使用するブローカー間プロトコルのバージョンを指定します。
これは一般的に全てのブローカーが新しいバージョンにアップグレードした後で取り消されます。
有効ないくつかの値の例: 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 を調べてください。Type: 文字列 デフォルト: 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-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, 2.7-IV0, 2.7-IV1, 2.7-IV2] 重要: medium 更新モード: read-only -
log.cleaner.backoff.ms
掃除するログが無い場合にスリープする総時間
Type: long デフォルト: 15000 (15 秒) 有効な値: [0,...] 重要: medium 更新モード: cluster-wide -
log.cleaner.dedupe.buffer.size
全てのクリーナースレッドを通じてログのデュプリケーションに使われる総メモリ
Type: long デフォルト: 134217728 有効な値: 重要: medium 更新モード: cluster-wide -
log.cleaner.delete.retention.ms
どれだけの期間削除されたレコードを保持するか?
Type: long デフォルト: 86400000 (1 日) 有効な値: 重要: medium 更新モード: cluster-wide -
log.cleaner.enable
ログクリーナープロセスをサーバ上で実行することを有効にする。内部オフセットトピックを含む cleanup.policy=compact を使ってトピックを使う場合は有効にしなければなりません。無効にするとそれらのトピックはコンパクト化されずサイズが増加し続けるでしょう。
Type: boolean デフォルト: true 有効な値: 重要: medium 更新モード: read-only -
log.cleaner.io.buffer.load.factor
ログクリーナの重複排除バッファの負荷係数。重複排除バッファが一杯になる可能性のある割合。値を高くすると一度にもっと多くのログを掃除することができますが、もっと多くのハッシュの衝突に繋がるでしょう。
Type: double デフォルト: 0.9 有効な値: 重要: medium 更新モード: cluster-wide -
log.cleaner.io.buffer.size
全てのクリーナースレッドを通じてログ クリーナーのI/Oバッファに使われる総メモリ
Type: dint デフォルト: 524288 有効な値: [0,...] 重要: medium 更新モード: cluster-wide -
log.cleaner.io.max.bytes.per.second
ログのクリーナーは読み込みおよび書き込みi/oがこの値より平均で小さくなるように絞るでしょう。
Type: double デフォルト: 1.7976931348623157E308 有効な値: 重要: medium 更新モード: cluster-wide -
log.cleaner.max.compaction.lag.ms
メッセージがログで圧縮の対象外となる最大時間。圧縮されているログについてのみ適用可能です。
Type: long デフォルト: 9223372036854775807 有効な値: 重要: medium 更新モード: cluster-wide -
log.cleaner.min.cleanable.ratio
ログが掃除されるようになる総ログに対するダーティログの最小割合。log.cleaner.max.compaction.lag.ms または the log.cleaner.min.compaction.lag.ms 設定も指定されている場合、ログの圧縮器は次のいずれかですぐにログを圧縮できると見なします: (i) 少なくとも log.cleaner.min.compaction.lag.ms の間、ダーティ率の閾値に達し、ログにダーティ (非圧縮) のレコードがあった、または (ii) ログにダーティ (非圧縮) レコードが最大で log.cleaner.max.compaction.lag.ms の間あった。
Type: double デフォルト: 0.5 有効な値: 重要: medium 更新モード: cluster-wide -
log.cleaner.min.compaction.lag.ms
メッセージがログ内で圧縮されずにいる最小時間。圧縮されているログについてのみ適用可能です。
Type: long デフォルト: 0 有効な値: 重要: medium 更新モード: cluster-wide -
log.cleaner.threads
ログの掃除に使われるバックグラウンドスレッドの数
Type: dint デフォルト: 1 有効な値: [0,...] 重要: medium 更新モード: cluster-wide -
log.cleanup.policy
保持ウィンドウを超えたセグメントのデフォルトの掃除ポリシー有効なポリシーのカンマ区切りのリスト。有効なポリシーは : "delete" および "compact"
Type: list デフォルト: delete 有効な値: [compact, delete] 重要: medium 更新モード: cluster-wide -
log.index.interval.bytes
オフセット インデックスにエントリを追加する間隔
Type: dint デフォルト: 4096 (4 kibibytes) 有効な値: [0,...] 重要: medium 更新モード: cluster-wide -
log.index.size.max.bytes
オフセット インデックスの最大バイト数
Type: dint デフォルト: 10485760 (10 mebibytes) 有効な値: [4,...] 重要: medium 更新モード: cluster-wide -
log.message.format.version
ブローカーがログにメッセージを追加する時に使うメッセージフォーマットを指定します。値は有効なApiVersionでなければなりません。いくつかの例: 0.8.2, 0.9.0.0, 0.10.0, 詳細はApiVersionを調べてください。特定のメッセージフォーマットバージョンを指定することで、ユーザはディスク上の既存の全てのメッセージが指定のバージョン以下であることを保証します。この値を間違って設定すると、古いバージョンのコンシューマが理解できないフォーマットを使ってメッセージを受信するため、それらは壊してしまうでしょう。
Type: 文字列 デフォルト: 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-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, 2.7-IV0, 2.7-IV1, 2.7-IV2] 重要: medium 更新モード: read-only -
log.message.timestamp.difference.max.ms
ブローカーがメッセージを付け取った時のタイムスタンプと、その中で指定されたタイムスタンプとの間で許される最大の差異。log.message.timestamp.type=CreateTime であれば、タイムスタンプの違いがこの閾値を超えた場合にメッセージは却下されるでしょう。もし log.message.timestamp.type=LogAppendTime であればこの設定は無視されます。不必要な頻度のログのローリングを避けるために、許される最大のタイムスタンプの差異は log.retention.ms より小さくなければなりません。
Type: long デフォルト: 9223372036854775807 有効な値: 重要: medium 更新モード: cluster-wide -
log.message.timestamp.type
メッセージ内のタイムスタンプが、メッセージが生成された時間か、ログが追加された時間かどうかを定義します。値は `CreateTime` あるいは `LogAppendTime` のどちらかでなければなりません。
Type: 文字列 デフォルト: CreateTime 有効な値: [CreateTime, LogAppendTime] 重要: medium 更新モード: cluster-wide -
log.preallocate
新しいセグメントを作る場合にあらかじめファイルを割り当てるべきか?Windows上でKafkaを使う場合は、たぶんtrueに設定する必要があります。
Type: boolean デフォルト: false 有効な値: 重要: medium 更新モード: cluster-wide -
log.retention.check.interval.ms
ログクリーナーがいずれかのログが削除される対象かどうかをチェックする頻度のミリ秒
Type: long デフォルト: 300000 (5 分) 有効な値: [1,...] 重要: medium 更新モード: read-only -
max.connection.creation.rate
The maximum connection creation rate we allow in the broker at any time. Listener-level limits may also be configured by prefixing the config name with the listener prefix, for example,
listener.name.internal.max.connection.creation.rate
.Broker-wide connection rate limit should be configured based on broker capacity while listener limits should be configured based on application requirements. New connections will be throttled if either the listener or the broker limit is reached, with the exception of inter-broker listener. Connections on the inter-broker listener will be throttled only when the listener-level rate limit is reached.Type: dint デフォルト: 2147483647 有効な値: [0,...] 重要: medium 更新モード: cluster-wide -
max.connections
どんな時でもブローカーで許可される接続の最大数。この制限は max.connections.per.ip を使って設定されたipごとの制限に加えて適用されます。リスナーレベルの制限は、設定名の前にリスナーのプレフィックスを付けることでも設定できます。例えば、
listener.name.internal.max.connections
。ブローカー全体の制限はブローカーの容量に基づいて設定する必要があり、リスナーの制限はアプリケーションの要件に基づいて設定する必要があります。リスナーあるいはブローカーの制限に達すると、新しい接続がブロックされます。ブローカー全体の制限に達したとしても、ブローカー間のリスナーの接続は許可されます。この場合、別のリスナーで最も最近使われていない接続が閉じられます。Type: dint デフォルト: 2147483647 有効な値: [0,...] 重要: medium 更新モード: cluster-wide -
max.connections.per.ip
各ipアドレスから接続可能な最大数。max.connections.per.ip.overrides プロパティを使って設定された上書きがある場合、これは0に設定することができます。制限に達した場合、そのipアドレスからの新しい接続が落とされます。
Type: dint デフォルト: 2147483647 有効な値: [0,...] 重要: medium 更新モード: cluster-wide -
max.connections.per.ip.overrides
接続のデフォルトの最大数を上書きする ip またはホスト名ごとのカンマ区切りのリスト。値の例は "hostName:100,127.0.0.1:200" です
Type: 文字列 デフォルト: "" 有効な値: 重要: medium 更新モード: cluster-wide -
max.incremental.fetch.session.cache.slots
私たちが維持するだろう逐次取得セッションの最大数。
Type: dint デフォルト: 1000 有効な値: [0,...] 重要: medium 更新モード: read-only -
num.partitions
トピック毎のログパーティションのデフォルトの数
Type: dint デフォルト: 1 有効な値: [1,...] 重要: medium 更新モード: read-only -
password.encoder.old.secret
設定されたパスワードを動的に符号化するために使われた古いsecret。これはsecretが更新される時にのみ必要です。もし指定された場合、全ての動的に符号化されたパスワードはこの古いsecretを使って使って複合化され、ブローカーが起動する時に password.encoder.secret を使って再符号化されます。
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
password.encoder.secret
このブローカーについて設定されたパスワードを動的に符号化するために使われるsecret。
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
principal.builder.class
KafkaPrincipalBuilder インタフェースを実装するクラスの完全修飾名。これは認証の間に使われる KafkaPrincipal オブジェクトを構築するために使われます。この設定は以前にSSL上でクライアントの認証のために使われていた非推奨のPrincipalBuilderインタフェースもサポートします。principal ビルダーが定義されない場合、デフォルトの挙動は使用するセキュリティ プロトコルに依存します。SSL認証については、principalはクライアント証明書が提供される場合にそれから識別名に適用される
ssl.principal.mapping.rules
によって定義された規則を使って取得されます; そうでなければ、クライアント認証が必要では無い場合、principal名はANONYMOUSになるでしょう。SASL 認証については、principalはGSSAPIが使われている場合はsasl.kerberos.principal.to.local.rules
で定義されるルールを使って取り出され、他の機構についてはSASL認証IDが使われるでしょう。PLAINTEXT については、principalは ANONYMOUS になるでしょう。Type: クラス デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
producer.purgatory.purge.interval.requests
プロデューサのリクエストのパージ間隔(リクエストの数)
Type: dint デフォルト: 1000 有効な値: 重要: medium 更新モード: read-only -
queued.max.request.bytes
リクエストがもう読まれなくなるまでに許可されるキューのバイト数
Type: long デフォルト: -1 有効な値: 重要: medium 更新モード: read-only -
replica.fetch.backoff.ms
取得パーティションエラーが起きた時の総sleep時間。
Type: dint デフォルト: 1000 (1 秒) 有効な値: [0,...] 重要: medium 更新モード: read-only -
replica.fetch.max.bytes
各パーティションについてフェッチしようとするメッセージのバイト数。これは絶対的な最大ではありません。もし最初の空では無いパーティション内の最初のメッセージがこの値より大きい場合、進めることができるようにレコードのバッチはまだ返されるでしょう。ブローカーに受け付けられる最大レコードバッチサイズは
message.max.bytes
(ブローカー設定) あるいはmax.message.bytes
(トピック設定) によって定義されます。Type: dint デフォルト: 1048576 (1 mebibyte) 有効な値: [0,...] 重要: medium 更新モード: read-only -
replica.fetch.response.max.bytes
フェッチ応答全体に期待される最大バイト。レコードはバッチ内で取得されます。もし最初の空では無いパーティション内の最初のメッセージがこの値より大きい場合、進めることができるようにレコードのバッチはまだ返されるでしょう。このように、これは絶対的な最大ではありません。ブローカーに受け付けられる最大レコードバッチサイズは
message.max.bytes
(ブローカー設定) あるいはmax.message.bytes
(トピック設定) によって定義されます。Type: dint デフォルト: 10485760 (10 mebibytes) 有効な値: [0,...] 重要: medium 更新モード: read-only -
replica.selector.class
ReplicaSelector を実装する完全修飾クラス名。優先される読み込みレプリカを見つけるためにブローカーによって使われます。デフォルトでは、リーダーを返す実装を使います。
Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
reserved.broker.max.id
broker.idのために使うことができる最大の数
Type: dint デフォルト: 1000 有効な値: [0,...] 重要: medium 更新モード: read-only -
sasl.client.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASLクライアント コールバック ハンドラ クラスの完全修飾名。
Type: クラス デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
sasl.enabled.mechanisms
Kafkaサーバ内で利用可能なSASL機構のリスト。リストにはセキュリティプロバイダが利用可能な任意の機構が含まれるかも知れません。デフォルトではGSSAPIだけが有効です。
Type: list デフォルト: GSSAPI 有効な値: 重要: medium 更新モード: per-broker -
sasl.jaas.config
JAAS設定ファイル内で使われる形式のSASL接続のためのJAAS login コンテキスト パラメータ。JAAS 設定ファイルのフォーマットはここで説明されます。値の形式は: '
loginModuleClass controlFlag (optionName=optionValue)*;
'。ブローカーについては、設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule が必要です;Type: password デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
sasl.kerberos.kinit.cmd
Kerberos kinit コマンドライン パス。
Type: 文字列 デフォルト: /usr/bin/kinit 有効な値: 重要: medium 更新モード: per-broker -
sasl.kerberos.min.time.before.relogin
リフレッシュ試行間のログインスレッドのスリープ時間。
Type: long デフォルト: 60000 有効な値: 重要: medium 更新モード: per-broker -
sasl.kerberos.principal.to.local.rules
プリンシパル名からショート名(一般的にオペレーティングシステムのユーザ名)へのマッピングのルールのリスト。ルールは順番に評価され、プリンシパル名に合致する最初のルールがショート名にマップするために使われます。リスト内の後のどのようなルールも無視されます。デフォルトでは、{username}/{hostname}@{REALM} の形式のプリンシパル名は {username} にマップされます。形式についての詳細は、 セキュリティ認証とaclを見てください。KafkaPrincipalBuilderの拡張が
principal.builder.class
設定によって提供されない場合、この設定は無視されることに注意してください。Type: list デフォルト: デフォルト: 有効な値: 重要: medium 更新モード: per-broker -
sasl.kerberos.service.name
Kafkaが実行するKerbrosプリンシパル名。これはKafkaのJAAS設定あるいはKafkaの設定のどちらかで定義することができます。
Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
sasl.kerberos.ticket.renew.jitter
更新時間に追加されるランダムなジッターのパーセンテージ。
Type: double デフォルト: 0.05 有効な値: 重要: medium 更新モード: per-broker -
sasl.kerberos.ticket.renew.window.factor
最後にリフレッシュされてからチケットの期限切れまでの時間が指定されたウィンドウ要素になるまで、ログインスレッドはスリープします。そしてその時間にチケットを更新しようとするでしょう。
Type: double デフォルト: 0.8 有効な値: 重要: medium 更新モード: per-broker -
sasl.login.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASL ログイン コールバック ハンドラ クラスの完全修飾名。ブローカーについては、ログインのコールバックハンドラ設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
Type: クラス デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
sasl.login.class
Loginインタフェースを実装するクラスの完全修飾名。ブローカーについては、ログイン設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
Type: クラス デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
sasl.login.refresh.buffer.seconds
証明書をリフレッシュする時に証明書の有効期限を維持するバッファ時間の秒数。そうでなければ、バッファの秒数よりも有効期限の近くで更新が発生する場合、可能な限り多くのバッファ時間を維持するために、更新が上に移動されます。有効な値は0から3600(1時間); 値が指定されない場合はデフォルトの値 300 (5分)が使われます。この値と sasl.login.refresh.min.period.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 300 有効な値: 重要: medium 更新モード: per-broker -
sasl.login.refresh.min.period.seconds
証明書をリフレッシュする前にログイン フレッシュ スレッドが待つ望ましい最小の時間の秒数。有効な値は0から900 (15分); 値が指定されない場合はデフォルトの値60(1分)が使われます。この値と sasl.login.refresh.buffer.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 60 有効な値: 重要: medium 更新モード: per-broker -
sasl.login.refresh.window.factor
ログイン フレッシュ スレッドは、証明書の生存期間に関連した指定されたウィンドウ ファクタに達するまでスリープしようとします。その時点で証明書をリフレッシュしようとするでしょう。有効な値は0.5 (50%)以上と1.0 (100%)以下の間です; 値が指定されない場合はデフォルトの値 0.8 (80%)が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.8 有効な値: 重要: medium 更新モード: per-broker -
sasl.login.refresh.window.jitter
ログイン スレッドのスリープ時間に追加された証明書の生存期間に対するランダム ジッタの最大量。有効な値は 0以上と0.25 (25%)以下の間です; 値が指定されない場合はデフォルトの値 0.05 (5%) が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.05 有効な値: 重要: medium 更新モード: per-broker -
sasl.mechanism.inter.broker.protocol
内部ブローカー通信に使われるSASL機構。デフォルトは GSSAPI です。
Type: 文字列 デフォルト: GSSAPI 有効な値: 重要: medium 更新モード: per-broker -
sasl.server.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASL サーバ コールバック ハンドラ クラスの完全修飾名。サーバのコールバックハンドラはlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.plain.sasl.server.callback.handler.class=com.example.CustomPlainCallbackHandler。
Type: クラス デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
security.inter.broker.protocol
ブローカー間で通信するために使われるセキュリティプロトコル。有効な値は: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL。これを設定して同時に inter.broker.listener.name プロパティを設定するのは間違いです。
Type: 文字列 デフォルト: PLAINTEXT 有効な値: 重要: medium 更新モード: read-only -
socket.connection.setup.timeout.max.ms
The maximum amount of time the client will wait for the socket connection to be established. The connection setup timeout will increase exponentially for each consecutive connection failure up to this maximum. To avoid connection storms, a randomization factor of 0.2 will be applied to the timeout resulting in a random range between 20% below and 20% above the computed value.
Type: long デフォルト: 127000 (127 seconds) 有効な値: 重要: medium 更新モード: read-only -
socket.connection.setup.timeout.ms
The amount of time the client will wait for the socket connection to be established. If the connection is not built before the timeout elapses, clients will close the socket channel.
Type: long デフォルト: 10000 (10 秒) 有効な値: 重要: medium 更新モード: read-only -
ssl.cipher.suites
cipher スイーツのリストこれはTLSあるいはSSLネットワークプロトコルを使うネットワーク接続のためのセキュリティ設定を取り決めるために使われる、認証、暗号化、MACおよびキー交換アルゴリズムの名前の組み合わせです。デフォルトでは全ての利用可能なcipherスイーツがサポートされます。
Type: list デフォルト: "" 有効な値: 重要: medium 更新モード: per-broker -
ssl.client.auth
クライアント認証をリクエストするためのKafkaブローカーを設定します。以下の設定が一般的です:
ssl.client.auth=required
required に設定された場合、クライアント認証が必要です。ssl.client.auth=requested
これはクライアント認証が任意であることを意味します。unlike required, if this option is set client can choose not to provide authentication information about itselfssl.client.auth=none
これはクライアント認証が必要では無いことを意味します。
Type: 文字列 デフォルト: none 有効な値: [required, requested, none] 重要: medium 更新モード: per-broker -
ssl.enabled.protocols
SSL接続のために有効にされるプロトコルのリスト。デフォルトは、Java 11以降で実行する場合は 'TLSv1.2,TLSv1.3'、それ以外の場合は、'TLSv1.2' です。Java 11 のデフォルト値では、クライアントとサーバはどちらもサポートする場合は TLSv1.3 を優先し、そうでない場合は TLSv1.2 にフォールバックしますjj(両方が少なくと TLSv1.2 をサポートする場合)。このデフォルトはほとんどの場合で十分です。`ssl.protocol` の設定ドキュメントも見てください。
Type: list デフォルト: TLSv1.2 有効な値: 重要: medium 更新モード: per-broker -
ssl.key.password
The password of the private key in the key store file orthe PEM key specified in `ssl.keystore.key'. This is required for clients only if two-way authentication is configured.
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.keymanager.algorithm
SSL接続のためにキーマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されたキーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: SunX509 有効な値: 重要: medium 更新モード: per-broker -
ssl.keystore.certificate.chain
Certificate chain in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with a list of X.509 certificates
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.keystore.key
Private key in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with PKCS#8 keys. If the key is encrypted, key password must be specified using 'ssl.key.password'
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.keystore.location
キーストアーファイルの場所。これはクライアントについては任意で、クライアントのための相互認証のために使うことができます。
Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.keystore.password
キーストアーファイルのためのストアパスワード。This is optional for client and only needed if 'ssl.keystore.location' is configured. Key store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.keystore.type
キーストアファイルのファイル形式。これはクライアントについては任意です。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium 更新モード: per-broker -
ssl.protocol
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' に設定されている場合、ssl.enabled.protocols の値のうちの1つで、サーバが 'TLSv1.3' だけをサポートする場合でも、クライアントは 'TLSv1.3' を使いません。
Type: 文字列 デフォルト: TLSv1.2 有効な値: 重要: medium 更新モード: per-broker -
ssl.provider
SSL接続のために使われるセキュリティプロバイダの名前。デフォルト値はJVMのデフォルトのセキュリティプロバイダです。
Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.trustmanager.algorithm
SSL接続のためにトラストマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されトラストーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: PKIX 有効な値: 重要: medium 更新モード: per-broker -
ssl.truststore.certificates
Trusted certificates in the format specified by 'ssl.truststore.type'. Default SSL engine factory supports only PEM format with X.509 certificates.
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.truststore.location
トラストストアーファイルの場所。
Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.truststore.password
トラストストアーファイルのパスワード。If a password is not set, trust store file configured will still be used, but integrity checking is disabled. Trust store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: medium 更新モード: per-broker -
ssl.truststore.type
トラストストアファイルのファイル形式。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium 更新モード: per-broker -
zookeeper.clientCnxnSocket
ZooKeeper への TLS 接続を使う場合、通常は
org.apache.zookeeper.ClientCnxnSocketNetty
に設定します。同じ名前のzookeeper.clientCnxnSocket
システムプロパティを介して設定された明示的な値を上書きします。Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
zookeeper.ssl.client.enable
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
が含まれます。Type: boolean デフォルト: false 有効な値: 重要: medium 更新モード: read-only -
zookeeper.ssl.keystore.location
ZooKeeper への TLS 接続でクライアント側の証明書を使う場合のキーストアの場所。
zookeeper.ssl.keyStore.location
システムプロパティ(camelCase に注意してください)で設定された明示的な値を上書きでします。Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
zookeeper.ssl.keystore.password
ZooKeeper への TLS 接続でクライアント側の証明書を使う場合のキーストアパスワード
zookeeper.ssl.keyStore.password
システムプロパティ(camelCase に注意してください)で設定された明示的な値を上書きでします。ZooKeeper はキーストアパスワードと異なるキーパスワードをサポートしないことに注意してください。そのため、キーストア内のキーパスワードをキーストアパスワードと同一に設定してください。そうでなければ、ZooKeeper への接続は失敗します。Type: password デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
zookeeper.ssl.keystore.type
ZooKeeper への TLS 接続でクライアント側の証明書を使う場合のキーストアの型。
zookeeper.ssl.keyStore.type
システムプロパティ(camelCase に注意してください)で設定された明示的な値を上書きでします。デフォルト値のnull
は、キーストアのファイル名の拡張子に基づいて自動検出されることを意味します。Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
zookeeper.ssl.truststore.location
ZooKeeper への TLS 接続を使う場合のトラストストアの場所。
zookeeper.ssl.trustStore.location
システムプロパティ(camelCase に注意してください)で設定された明示的な値を上書きでします。Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
zookeeper.ssl.truststore.password
ZooKeeper への TLS 接続を使う場合のトラストストアパスワード。
zookeeper.ssl.trustStore.password
システムプロパティ(camelCase に注意してください)で設定された明示的な値を上書きでします。Type: password デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
zookeeper.ssl.truststore.type
ZooKeeper への TLS 接続を使う場合のトラストストアの型。
zookeeper.ssl.trustStore.type
システムプロパティ(camelCase に注意してください)で設定された明示的な値を上書きでします。デフォルト値のnull
は、トラストストアのファイル名の拡張子に基づいて自動検出されることを意味します。Type: 文字列 デフォルト: null 有効な値: 重要: medium 更新モード: read-only -
alter.config.policy.class.name
検証のために使われるべき代替の設定ポリシークラス。クラスは
org.apache.kafka.server.policy.AlterConfigPolicy
インタフェースを実装しなければなりません。Type: クラス デフォルト: null 有効な値: 重要: low 更新モード: read-only -
alter.log.dirs.replication.quota.window.num
別のログディレクトリのリプリケーションのクォートのためのメモリ内に保持する標本の数
Type: dint デフォルト: 11 有効な値: [1,...] 重要: low 更新モード: read-only -
alter.log.dirs.replication.quota.window.size.seconds
別のログディレクトリのリプリケーションのクォートのための各標本内の時間間隔
Type: dint デフォルト: 1 有効な値: [1,...] 重要: low 更新モード: read-only -
authorizer.class.name
sorg.apache.kafka.server.authorizer.Authorizer インタフェースを実装するクラスの完全修飾名。ブローカーによって認証のために使われます。この設定は、以前の認証に使われていた非推奨の kafka.security.auth.Authorizer トレイトを実装する認証者もサポートします。
Type: 文字列 デフォルト: "" 有効な値: 重要: low 更新モード: read-only -
client.quota.callback.class
ClientQuotaCallback インタフェースを実装するクラスの完全修飾名。これはクライアントのリクエストに適用されるクォータ制限を決定するために使われます。デフォルトでは、
, または ZooKeeperに格納されているクォータが適用されます。任意の要求に対して、セッションのユーザ プリンシパルとリクエストのクライアントにもっとも合致するクォータが適用されます。 Type: クラス デフォルト: null 有効な値: 重要: low 更新モード: read-only -
connection.failed.authentication.delay.ms
認証失敗時の接続クローズの遅延: これは認証失敗時に接続のクローズが遅延する時間 (ミリ秒単位) です。これは接続タイムアウトを避けるために、connections.max.idle.ms より小さく設定されなければなりません。
Type: dint デフォルト: 100 有効な値: [0,...] 重要: low 更新モード: read-only -
controller.quota.window.num
The number of samples to retain in memory for controller mutation quotas
Type: dint デフォルト: 11 有効な値: [1,...] 重要: low 更新モード: read-only -
controller.quota.window.size.seconds
The time span of each sample for controller mutations quotas
Type: dint デフォルト: 1 有効な値: [1,...] 重要: low 更新モード: read-only -
create.topic.policy.class.name
検証に使われる必要がある トピック生成ポリシークラス。クラスは
org.apache.kafka.server.policy.CreateTopicPolicy
インタフェースを実装しなければなりません。Type: クラス デフォルト: null 有効な値: 重要: low 更新モード: read-only -
delegation.token.expiry.check.interval.ms
期限切れの移譲トークンを削除するための走査間隔。
Type: long デフォルト: 3600000 (1 hour) 有効な値: [1,...] 重要: low 更新モード: read-only -
kafka.metrics.polling.interval.secs
kafka.metrics.reporters 実装で使うことができるメトリクスのポーリングの間隔 (秒単位) です。
Type: dint デフォルト: 10 有効な値: [1,...] 重要: low 更新モード: read-only -
kafka.metrics.reporters
Yammerメトリクス独自レポートとして使うためのクラスのリスト。レポーターは
kafka.metrics.KafkaMetricsReporter
特性を実装しなければなりません。クライアントが独自レポートでJMX操作を公開する場合、独自レポータは登録されたMBeanが標準MBean規約に準拠するようにkafka.metrics.KafkaMetricsReporterMBean
特性を拡張するMBean特性を追加で実装する必要があります。Type: list デフォルト: "" 有効な値: 重要: low 更新モード: read-only -
listener.security.protocol.map
リスナー名とセキュリティプロトコル間のマッピング。同じセキュリティプロトコルが1つ以上のポートあるいはIPで使われるように、これが定義されなければなりません。例えば、もしSSLが内部的および外部的なトラフィックの両方で必要とされる場合でも、それらを分離することができます。具体的には、INTERNAL および EXTERNAL という名前のリスナーを定義することができ、このプロパティは以下のようなものです: `INTERNAL:SSL,EXTERNAL:SSL`。このように、キーと値はコロンで区切られ、カンマによってエントリが分割されます。各リスナー名はマップ内で1度だけ現れなければなりません。正規化されたプリフィックス(リスナー名は小文字です)を設定名に追加することで各リスナーは異なるセキュリティ(SSLおよびSASL)設定を設定することができます。例えば、INTERNAL リスナーのために異なるキーストアを設定するために、
listener.name.internal.ssl.keystore.location
という名前の設定が設定されるでしょう。リスナー名のための設定が設定されない場合、設定は一般的な設定に代替されるでしょう (つまりssl.keystore.location
)。Type: 文字列 デフォルト: PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL 有効な値: 重要: low 更新モード: per-broker -
log.message.downconversion.enable
この設定はコンシューマのリクエストを満たすためにメッセージ形式のダウン-コンバージョンが有効にされるかどうかを制御します。
false
に設定された場合、ブローカーは古いメッセージ形式を期待するコンシューマのためのダウン-コンバージョンを行わないでしょう。そのような古いクライアントからのコンシューマリクエストについては、ブローカーはUNSUPPORTED_VERSION
エラーで応答します。この設定はフォロワーへのレプリケーションに必要とされるかもしれないメッセージ形式の変換に適用されません。Type: boolean デフォルト: true 有効な値: 重要: low 更新モード: cluster-wide -
metric.reporters
メトリクス レポーターとして使われるクラスのリスト。
org.apache.kafka.common.metrics.MetricsReporter
インタフェースの実装により、新しいメトリックの生成を知らせるクラスをプラグインすることができます。JMX統計を登録するために常に JmxReporter が含まれます。Type: list デフォルト: "" 有効な値: 重要: low 更新モード: cluster-wide -
metrics.num.samples
メトリクスを計算するために保持される標本の数。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: low 更新モード: read-only -
metrics.recording.level
メトリクスのための最も高い記録レベル。
Type: 文字列 デフォルト: INFO 有効な値: 重要: low 更新モード: read-only -
metrics.sample.window.ms
メトリクスの標本が計算されるための時間の窓。
Type: long デフォルト: 30000 (30 秒) 有効な値: [1,...] 重要: low 更新モード: read-only -
password.encoder.cipher.algorithm
設定されたパスワードを動的に符号化するために使われたCipherアルゴリズム。
Type: 文字列 デフォルト: AES/CBC/PKCS5Padding 有効な値: 重要: low 更新モード: read-only -
password.encoder.iterations
設定されたパスワードを動的に符号化するために使われた繰り返しカウント。
Type: dint デフォルト: 4096 有効な値: [1024,...] 重要: low 更新モード: read-only -
password.encoder.key.length
設定されたパスワードを動的に符号化するために使われたキーの長さ。
Type: dint デフォルト: 128 有効な値: [8,...] 重要: low 更新モード: read-only -
password.encoder.keyfactory.algorithm
設定されたパスワードを動的に符号化するために使われたSecretKeyFactoryアルゴリズム。デフォルトは利用可能であれば PBKDF2WithHmacSHA512、そうでなければ PBKDF2WithHmacSHA1。
Type: 文字列 デフォルト: null 有効な値: 重要: low 更新モード: read-only -
quota.window.num
クライアントのクォートのためのメモリ内に保持する標本の数
Type: dint デフォルト: 11 有効な値: [1,...] 重要: low 更新モード: read-only -
quota.window.size.seconds
クライアントのクォートのための各標本内の時間間隔
Type: dint デフォルト: 1 有効な値: [1,...] 重要: low 更新モード: read-only -
replication.quota.window.num
リプリケーションのクォートのためのメモリ内に保持する標本の数
Type: dint デフォルト: 11 有効な値: [1,...] 重要: low 更新モード: read-only -
replication.quota.window.size.seconds
リプリケーションのクォートのための各標本内の時間間隔
Type: dint デフォルト: 1 有効な値: [1,...] 重要: low 更新モード: read-only -
security.providers
セキュリティアルゴリズムを実装するプロバイダをそれぞれ返す構成可能なクリエイタクラスのリスト。これらのクラスは、
org.apache.kafka.common.security.auth.SecurityProviderCreator
インスタンスを実装しなければなりません。Type: 文字列 デフォルト: null 有効な値: 重要: low 更新モード: read-only -
ssl.endpoint.identification.algorithm
サーバの証明書を使ってサーバのホスト名を検証するためのエンドポイント識別アルゴリズム。
Type: 文字列 デフォルト: https 有効な値: 重要: low 更新モード: per-broker -
ssl.engine.factory.class
SSLEngine オブジェクトを提供するための org.apache.kafka.common.security.auth.SslEngineFactory 型のクラス。デフォルト値は、org.apache.kafka.common.security.ssl.DefaultSslEngineFactory です
Type: クラス デフォルト: null 有効な値: 重要: low 更新モード: per-broker -
ssl.principal.mapping.rules
クライアントの証明書の識別名から短縮名にマッピングするためのルールのリスト。ルールは順番に評価され、プリンシパル名に合致する最初のルールがショート名にマップするために使われます。リスト内の後のどのようなルールも無視されます。デフォルトでは、X.500 証明書の識別名はプリンシパルです。形式についての詳細は、 セキュリティ認証とaclを見てください。KafkaPrincipalBuilderの拡張が
principal.builder.class
設定によって提供されない場合、この設定は無視されることに注意してください。Type: 文字列 デフォルト: デフォルト: 有効な値: 重要: low 更新モード: read-only -
ssl.secure.random.implementation
SSL暗号化操作のために使われる SecureRandom PRNG 実装。
Type: 文字列 デフォルト: null 有効な値: 重要: low 更新モード: per-broker -
transaction.abort.timed.out.transaction.cleanup.interval.ms
タイムアウトしたトランザクションをロールバックする間隔
Type: dint デフォルト: 10000 (10 秒) 有効な値: [1,...] 重要: low 更新モード: read-only -
transaction.remove.expired.transaction.cleanup.interval.ms
transactional.id.expiration.ms
が経過したことにより期限切れになったトランザクションを削除する間隔
Type: dint デフォルト: 3600000 (1 hour) 有効な値: [1,...] 重要: low 更新モード: read-only -
zookeeper.ssl.cipher.suites
ZooKeeper の TLS ネゴシエーション (csv) で使う有効な暗号スイートを指定します。
zookeeper.ssl.ciphersuites
システムプロパティ("ciphersuites" という単一の単語に注意してください)で設定された明示的な値を上書きします。デフォルト値のnull
は、有効な暗号スイートのリストが、使用されている Java ランタイムによって決定されることを意味します。Type: list デフォルト: null 有効な値: 重要: low 更新モード: read-only -
zookeeper.ssl.crl.enable
ZooKeeper TLS プロトコルで証明書失効リストを有効にするかどうかを指定します。
zookeeper.ssl.crl
システムプロパティ(短い名前に注意してください)で設定された明示的な値を上書きします。Type: boolean デフォルト: false 有効な値: 重要: low 更新モード: read-only -
zookeeper.ssl.enabled.protocols
ZooKeeper の TLS ネゴシエーション (csv) で有効なプロトコルを指定します。
zookeeper.ssl.enabledProtocols
システムプロパティ(camelCase に注意してください)で設定された明示的な値を上書きでします。デフォルト値のnull
は、有効なプロトコルがzookeeper.ssl.protocol
構成プロパティの値になることを意味します。Type: list デフォルト: null 有効な値: 重要: low 更新モード: read-only -
zookeeper.ssl.endpoint.identification.algorithm
ZooKeer TLS ネゴシエーションでホスト名の検証を有効にするかどうかを指定します。(大文字小文字を区別しない) "https" は ZooKeeper ホスト名検証が有効であり、明示的な空白値は無効であることを意味します (無効にすることはテスト目的でのみ推奨されます)。明示的な値は、
zookeeper.ssl.hostnameVerification
システムプロパティで設定された "true" あるいは "false" を上書きします (名前と値が異なることに注意してください。true は https を意味し、false は空白を意味します)。Type: 文字列 デフォルト: HTTPS 有効な値: 重要: low 更新モード: read-only -
zookeeper.ssl.ocsp.enable
ZooKeeper TLS プロトコルでオンライン証明書状態プロトコルを有効にするかどうかを指定します。
zookeeper.ssl.ocsp
システムプロパティ(短い名前に注意してください)で設定された明示的な値を上書きします。Type: boolean デフォルト: false 有効な値: 重要: low 更新モード: read-only -
zookeeper.ssl.protocol
ZooKeeper の TLS ネゴシエーション で使われるプロトコルを指定します。明示的な値は、同じ名前の
zookeeper.ssl.protocol
システムプロパティを介して設定された値を上書きします。Type: 文字列 デフォルト: TLSv1.2 有効な値: 重要: low 更新モード: read-only -
zookeeper.sync.time.ms
ZKリーダーからどれだけZKフォロワーが遅れることができるか
Type: dint デフォルト: 2000 (2 秒) 有効な値: 重要: low 更新モード: read-only
ブローカー設定についての詳細はscalaクラスkafka.server.KafkaConfig
の中で見つけることができます。
3.1.1ブローカー設定の更新
Kafka バージョン 1.1 から、ブローカーの設定の幾つかがブローカーの再起動無しに更新することができます。各ブローカーの設定の更新モードについては、ブローカー設定の動的更新モード
のカラムを見てください。
read-only
: 更新のためにブローカーの再起動を必要としますper-broker
: 各ブローカーについて動的に更新することができますcluster-wide
: クラスタ全体のデフォルトとして動的に更新することができます。テストのためにブローカー毎の値として更新することもできます。
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --alter --add-config log.cleaner.threads=2
ブローカーid 0 の現在の動的なブローカーの設定を記述するには:
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --describe
ブローカーid 0 の設定の上書きを削除し、静的に設定されたあるいはデフォルトの値に戻すには (例えば、ログ クリーナーのスレッド数):
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --alter --delete-config log.cleaner.threads
幾つかの設定はクラスタ全体を通して一貫した値を維持するためにクラスタ全体のデフォルトとして設定されるかもしれません。クラスタ内の全てのブローカーはクラスタのデフォルトの更新を処理するでしょう。例えば、全てのブローカー上のログ クリーナーのスレッドを更新するには:
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-default --alter --add-config log.cleaner.threads=2
現在の設定された動的なクラスタ全体のデフォルトの設定を表示するには:
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-default --describe
クラスタレベルで設定可能な全ての設定はブローカー毎のレベルでも設定されるかもしれませんん(例えば、テストのため)。もし設定値が異なるレベルで定義される場合、以下の優先度の順番が使われます:
- ZooKeeperに格納された動的なブローカー毎の設定
- ZooKeeperに格納された動的なクラスタ全体のデフォルト設定
server.properties
からの静的なブローカー設定- Kafkaのデフォルトは、ブローカーの設定を見てください
動的にパスワードの設定を更新
動的に更新されたパスワードの設定値はZooKeeperに格納される前に暗号化されます。ブローカーの設定 password.encoder.secret
はパスワード設定の動的な更新を有効にするためにserver.properties
の中で設定されなければなりません。secret は異なるブローカーでは異なるかもしれません。
パスワードの符号化に使われるsecretはブローカーのローリング再起動と共にローテートされるかもしれません。ZooKeeper内の現在のところパスワードの符号化に使われた古いsecretは静的なブローカーの設定password.encoder.old.secret
内で提供され、新しいsecretはpassword.encoder.secret
内で提供されなければなりません。ZooKeeper内に格納されている全ての動的なパスワードの設定はブローカーが起動する時に新しいsecretを使って再符号化されるでしょう。
Kafka 1.1.xでは、パスワード設定が変更されていない場合でさえも、kafka-configs.sh
を使って設定を更新した時に、各変更リクエストの中で全ての動的に更新されるパスワードの設定は提供されなければなりません。この制約は将来のリリースで削除されるでしょう。
ブローカーの開始前にZooKeeper内のパスワード設定を更新する
Kafka 2.0.0以降、kafka-configs.sh
はブローカーをブートストラップする前にZooKeeperを使って動的なブローカーの設定の更新を有効にします。これにより全てのパスワード設定が暗号化された形式で格納されるため、server.properties
内のパスワードを平文にする必要はありません。変更コマンド内にパスワード設定が含まれる場合、ブローカーの設定password.encoder.secret
も指定されなければなりません。追加の暗号化パラメータも指定されるかもしれません。パスワードのエンコーダの設定はZooKeeper内に残らないでしょう。例えば、ブローカー 0 上のリスナーINTERNAL
のための SSLキーパスワードを格納するには:
> bin/kafka-configs.sh --zookeeper localhost:2182 --zk-tls-config-file zk_tls_config.properties --entity-type brokers --entity-name 0 --alter --add-config
'listener.name.internal.ssl.key.password=key-password,password.encoder.secret=secret,password.encoder.iterations=8192'
設定 listener.name.internal.ssl.key.password
は指定されたエンコーダの設定を使って暗号化された形式でZooKeeper内に保持されるでしょう。エンコーダの秘密鍵と繰り返しはZooKeeper内に保持されません。
既存のlistenerのSSL キーストアの更新
ブローカーは危殆化証明書の危険を減らすために短い有効期間のSSLキーストアを使って設定されるかもしれません。キーストアはブローカーの再起動無しに動的に更新されるかもしれません。設定名は特定のlistenerのキーストア設定だけが更新されるようにlistenerのプリフィックスlistener.name.{listenerName}.
を使って前置されなければなりません。以下の設定はブローカー毎のレベルで1つの更新リクエストの中で更新されるかもしれません:
ssl.keystore.type
ssl.keystore.location
ssl.keystore.password
ssl.key.password
既存のlistenerのSSL トラストストアの更新
ブローカーのトラストストアは証明書の追加あるいは削除のためのブローカーの再起動無しに動的に更新することができます。更新されたトラストストアは新しいクライアント接続を認証するために使われるでしょう。設定名は特定のlistenerのトラストストア設定だけが更新されるようにlistenerのプリフィックスlistener.name.{listenerName}.
を使って前置されなければなりません。以下の設定はブローカー毎のレベルで1つの更新リクエストの中で更新されるかもしれません:
ssl.truststore.type
ssl.truststore.location
ssl.truststore.password
デフォルトのトピックの設定の更新
ブローカーによって使われるデフォルトのトピックの設定オプションはブローカーの再起動無しに更新されるかもしれません。設定はトピック毎の設定と同等のトピックの設定の上書き無しに適用されます。1つ以上のそれらの設定は全てのブローカーによって使われるクラスタのデフォルトレベルで上書きされるかもしれません。log.segment.bytes
log.roll.ms
log.roll.hours
log.roll.jitter.ms
log.roll.jitter.hours
log.index.size.max.bytes
log.flush.interval.messages
log.flush.interval.ms
log.retention.bytes
log.retention.ms
log.retention.minutes
log.retention.hours
log.index.interval.bytes
log.cleaner.delete.retention.ms
log.cleaner.min.compaction.lag.ms
log.cleaner.max.compaction.lag.ms
log.cleaner.min.cleanable.ratio
log.cleanup.policy
log.segment.delete.delay.ms
unclean.leader.election.enable
min.insync.replicas
max.message.bytes
compression.type
log.preallocate
log.message.timestamp.type
log.message.timestamp.difference.max.ms
unclean.leader.election.enable
が動的に更新された時にコントローラによって曖昧なリーダー選択が自動的に有効にされます。Kafka バージョン 1.1.x では、unclean.leader.election.enable
への変更は新しいコントローラが選出される時のみ効果があります。コントローラの再選出は実行によって強制されるかもしれません:
> bin/zookeeper-shell.sh localhost
rmr /controller
ログ クリーナーの設定の更新
ログ クリーナーの設定は全てのブローカーによって使われるクラスタのデフォルトレベルで動的に更新されるかもしれません。設定はログのクリーニングの次の繰り返しで効果があります。以下の1つ以上のこれらの設定が更新されるかもしれません:log.cleaner.threads
log.cleaner.io.max.bytes.per.second
log.cleaner.dedupe.buffer.size
log.cleaner.io.buffer.size
log.cleaner.io.buffer.load.factor
log.cleaner.backoff.ms
スレッド設定の更新
ブローカーによって使われる様々なスレッドプールのサイズは全てのブローカーによって使われるクラスターのデフォルトレベルで動的に更新されるかもしれません。設定の更新が緩やかに処理されるように更新は範囲currentSize / 2
から currentSize * 2
に制限されます。
num.network.threads
num.io.threads
num.replica.fetchers
num.recovery.threads.per.data.dir
log.cleaner.threads
background.threads
ConnectionQuota 設定の更新
ブローカーが指定されたIP/ホストに許可する接続の最大数は、全てのブローカーによって使われるクラスタのデフォルト レベルで動的に更新することができます。変更は新しい接続の作成に適用され、既存の接続数は新しい制限によって考慮されます。max.connections.per.ip
max.connections.per.ip.overrides
listenerの追加と削除
listener は動的に追加あるいは削除されるかもしれません。新しいlistenerを追加する時、listenerのセキュリティ設定がlistenerプリフィックスlistener.name.{listenerName}.
を使ってlistener設定として提供されなければなりません。もし新しいlistenerがSASLを使う場合、listenerのJAAS設定がlistenerと仕組みのプリフィックスを持つJAAS設定プロパティsasl.jaas.config
を使って提供されなければなりません。詳細はKafkaブローカーのためのJAAS 設定 を見てください。
Kafka バージョン 1.1.x では、内部ブローカー listenerによって使われるlistenerは動的に更新されないかもしれません。新しいlistenerへの内部ブローカーlistenerを更新するために、新しいlistenerがブローカーの再起動無しに全てのブローカー上で追加されるかもしれません。inter.broker.listener.name
を更新するためにローリング再起動が必要とされます。
リスナー
advertised.listeners
listener.security.protocol.map
inter.broker.listener.name
あるいは inter.broker.security.protocol
を使って設定されなければなりません。
3.2トピックレベルの設定
トピックに関係がある設定はサーバのデフォルトとトピック毎に上書かれる任意の両方を持ちます。トピック毎の設定が与えられない場合は、サーバのデフォルトが使われます。この上書きはトピックの作成時に1つ以上の--config
オプションを与えることで設定することができます。この例は独自の最大メッセージサイズとフラッシュレートを持つmy-topicという名前のトピックを生成します:
> bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic my-topic --partitions 1 \
--replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
上書きは、他の設定コマンドを使って変更あるいは後で設定することもできます。この例は my-topicのための最大メッセージサイズを更新します:
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name my-topic
--alter --add-config max.message.bytes=128000
トピック上に設定された上書きを調べるために、以下を実行することができます
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name my-topic --describe
上書きを削除するために、以下のようにすることができます
> bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name my-topic
--alter --delete-config max.message.bytes
以下はトピックレベルの設定です。このプロパティのためのサーバのデフォルトの設定は Server Default Property の頭書きのもとで与えられます。明示的なトピックの設定の上書きが無い場合は、指定されたサーバのデフォルト設定値のみがトピックに適用されます。
-
cleanup.policy
A string that is either "delete" or "compact" or both. この文字列は古いログセグメント上で使用する保持ポリシーを指定します。デフォルトのポリシー ("delete") は保持期間あるいはサイズの制限に到達した時に古いセグメントを破棄するでしょう。"compact" 設定はトピックでのlog のコンパクション を有効にするでしょう。
Type: list デフォルト: delete 有効な値: [compact, delete] サーバのデフォルトのプロパティ: log.cleanup.policy 重要: medium -
compression.type
指定されたトピックのための最終的な圧縮タイプを指定する。この設定は標準的な圧縮コーディック('gzip', 'snappy', 'lz4', 'zstd')を受け付けます。更に、非圧縮に相当する 'uncompressed'; プロデューサによって設定された元の圧縮コーディックを保持することを意味する'producer' を受け付けます。
Type: 文字列 デフォルト: producer 有効な値: [uncompressed, zstd, lz4, snappy, gzip, producer] サーバのデフォルトのプロパティ: compression.type 重要: medium -
delete.retention.ms
log compacted トピックのための削除の墓石の目印を維持するための総時間。もし最終のステージの有効なスナップショットを取得するためにオフセット0から始める場合は、この設定はコンシューマが読み込みを完了させる時間の境界も与えます (そうでなければ、削除の墓石はそれらが走査を完了する前に集められるかもしれません)。
Type: long デフォルト: 86400000 (1 日) 有効な値: [0,...] サーバのデフォルトのプロパティ: log.cleaner.delete.retention.ms 重要: medium -
file.delete.delay.ms
ファイルシステムからファイルを削除するまでの待ち時間
Type: long デフォルト: 60000 (1 分) 有効な値: [0,...] サーバのデフォルトのプロパティ: log.segment.delete.delay.ms 重要: medium -
flush.messages
この設定はログに書かれるデータのfsyncを強制する間隔を指定することができます。例えば、もしこれが1に設定された場合、各メッセージの後にfsyncされるでしょう; もし5であれば各5メッセージ毎にfsyncするでしょう。一般的には、これを使わずに、耐久性のためにリプリケーションを使い、オペレーティングシステムのバックグラウンドフラッシュ機能のほうがもっと効率的なためそれにさせることをお勧めします。この設定はトピック毎ベースで上書きすることができます(トピック毎の設定の章を見てください)。
Type: long デフォルト: 9223372036854775807 有効な値: [0,...] サーバのデフォルトのプロパティ: log.flush.interval.messages 重要: medium -
flush.ms
この設定はログに書かれるデータのfsyncを強制する時間を指定することができます。例えば、これが1000に設定された場合、1000ms過ぎた後でfsyncするでしょう。一般的には、これを使わずに、耐久性のためにリプリケーションを使い、オペレーティングシステムのバックグラウンドフラッシュ機能のほうがもっと効率的なためそれにさせることをお勧めします。
Type: long デフォルト: 9223372036854775807 有効な値: [0,...] サーバのデフォルトのプロパティ: log.flush.interval.ms 重要: medium -
follower.replication.throttled.replicas
ログのリプリケーションがフォロワー側で絞られなければならないレプリカのリスト。リストは [PartitionId]:[BrokerId],[PartitionId]:[BrokerId]:... の形式のレプリカのセットを表さなければなりません。あるいはこのトピックについての全てのレプリカを絞るためにワイルドカード '*' を使うことができます。
Type: list デフォルト: "" 有効な値: [partitionId]:[brokerId],[partitionId]:[brokerId],... サーバのデフォルトのプロパティ: follower.replication.throttled.replicas 重要: medium -
index.interval.bytes
この設定はKafkaがオフセットインデックスにエントリを追加する頻度を制御します。デフォルトの設定はおおよそ各4096バイトごとにメッセージをインデックスすることを保証します。もっとインデックスを増やすことでログの正確な場所の近くに読み込みをジャンプすることができますが、インデックスが大きくなります。おそらくこれを変更する必要はないでしょう。
Type: dint デフォルト: 4096 (4 kibibytes) 有効な値: [0,...] サーバのデフォルトのプロパティ: log.index.interval.bytes 重要: medium -
leader.replication.throttled.replicas
ログのリプリケーションがリーダー側で絞られなければならないレプリカのリスト。リストは [PartitionId]:[BrokerId],[PartitionId]:[BrokerId]:... の形式のレプリカのセットを表さなければなりません。あるいはこのトピックについての全てのレプリカを絞るためにワイルドカード '*' を使うことができます。
Type: list デフォルト: "" 有効な値: [partitionId]:[brokerId],[partitionId]:[brokerId],... サーバのデフォルトのプロパティ: leader.replication.throttled.replicas 重要: medium -
max.compaction.lag.ms
メッセージがログで圧縮の対象外となる最大時間。圧縮されているログについてのみ適用可能です。
Type: long デフォルト: 9223372036854775807 有効な値: [1,...] サーバのデフォルトのプロパティ: log.cleaner.max.compaction.lag.ms 重要: medium -
max.message.bytes
Kafkaで可能な最も大きなレコードのバッチサイズ (圧縮が有効な場合は圧縮後)。これが増え、0.10.2より古いコンシューマがある場合、コンシューマがこの大きさのレコードバッチを取得できるようにコンシューマの取得サイズも増やす必要があります。最新のメッセージフォーマットのバージョンでは、効率化のためにレコードは常にバッチにグループ化されます。以前のメッセージフォーマットのバージョンでは、圧縮されていないレコードはバッチにグループ化されず、この制限は1つのレコードにのみ適用されます。
Type: dint デフォルト: 1048588 有効な値: [0,...] サーバのデフォルトのプロパティ: message.max.bytes 重要: medium -
message.format.version
ブローカーがログにメッセージを追加する時に使うメッセージフォーマットを指定します。値は有効なApiVersionでなければなりません。いくつかの例: 0.8.2, 0.9.0.0, 0.10.0, 詳細はApiVersionを調べてください。特定のメッセージフォーマットバージョンを指定することで、ユーザはディスク上の既存の全てのメッセージが指定のバージョン以下であることを保証します。この値を間違って設定すると、古いバージョンのコンシューマが理解できないフォーマットを使ってメッセージを受信するため、それらは壊してしまうでしょう。
Type: 文字列 デフォルト: 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-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, 2.7-IV0, 2.7-IV1, 2.7-IV2] サーバのデフォルトのプロパティ: log.message.format.version 重要: medium -
message.timestamp.difference.max.ms
ブローカーがメッセージを付け取った時のタイムスタンプと、その中で指定されたタイムスタンプとの間で許される最大の差異。message.timestamp.type=CreateTime であれば、タイムスタンプの違いがこの閾値を超えた場合にメッセージは却下されるでしょう。もし message.timestamp.type=LogAppendTime であれば、この設定は無視されます。
Type: long デフォルト: 9223372036854775807 有効な値: [0,...] サーバのデフォルトのプロパティ: log.message.timestamp.difference.max.ms 重要: medium -
message.timestamp.type
メッセージ内のタイムスタンプが、メッセージが生成された時間か、ログが追加された時間かどうかを定義します。値は `CreateTime` あるいは `LogAppendTime` のどちらかでなければなりません。
Type: 文字列 デフォルト: CreateTime 有効な値: [CreateTime, LogAppendTime] サーバのデフォルトのプロパティ: log.message.timestamp.type 重要: medium -
min.cleanable.dirty.ratio
この設定はログの圧縮機がログを掃除しようとする頻度を制御します(log compaction が有効であると仮定)。デフォルトでは、ログの50%以上がコンパクト化された場所にあるログを掃除することを避けるでしょう。この率はデュープリケートによってログ内で消費される領域の最大を制限します(50%ではログの最大50%がデュープリケートされるかも知れません)。率を高くすることは、より少なく、より効率的な掃除を意味しますが、ログ内のより多くの消費される領域を意味するでしょう。max.compaction.lag.ms または the min.compaction.lag.ms 設定も指定されている場合、ログの圧縮器は次のいずれかですぐにログを圧縮できると見なします: (i) 少なくとも min.compaction.lag.ms の間、ダーティ率の閾値に達し、ログにダーティ (非圧縮) のレコードがあった、または (ii) ログにダーティ (非圧縮) レコードが最大で max.compaction.lag.ms の間あった。
Type: double デフォルト: 0.5 有効な値: [0,...,1] サーバのデフォルトのプロパティ: log.cleaner.min.cleanable.ratio 重要: medium -
min.compaction.lag.ms
メッセージがログ内で圧縮されずにいる最小時間。圧縮されているログについてのみ適用可能です。
Type: long デフォルト: 0 有効な値: [0,...] サーバのデフォルトのプロパティ: log.cleaner.min.compaction.lag.ms 重要: medium -
min.insync.replicas
プロデューサがackを "all" (あるいは "-1") に設定する場合、この設定は書き込みが成功したと見なされるように書き込みを知らせる必要があるレプリカの最小数を指定します。この最小限に一致しない場合、プロデューサは例外(NotEnoughReplicas あるいは NotEnoughReplicasAfterAppendのどちらか)を上げるでしょう。
一緒に使った場合、min.insync.replicas
とacks
は素晴らしい耐久性の保証を強化することができます。典型的なシナリオは、3つのレプリケーション ファクターを持つトピックを生成し、min.insync.replicas
を 2 に設定し、"all" のacks
を使って生成します。これは、もしレプリカの過半数が書き込みを受け取らなかった場合にプロデューサが例外を上げることを保証するでしょう。Type: dint デフォルト: 1 有効な値: [1,...] サーバのデフォルトのプロパティ: min.insync.replicas 重要: medium -
preallocate
新しいログのセグメントを生成する時にディスク上にファイルをあらかじめ割り当てる必要がある場合はTrue。
Type: boolean デフォルト: false 有効な値: サーバのデフォルトのプロパティ: log.preallocate 重要: medium -
retention.bytes
この設定は、"delete" 維持ポリシーを使う場合は空間を解放するために古いログのセグメントを削除する前までのパーティション(ログのセグメントからなります)が成長する最大のサイズを制御します。デフォルトでは時間の制限だけでサイズの制限はありません。この制限はパーティションレベルで強制されるため、トピックの維持をバイトで計算するにはそれにパーティションの数を掛けてください。
Type: long デフォルト: -1 有効な値: サーバのデフォルトのプロパティ: log.retention.bytes 重要: medium -
retention.ms
この設定は、"delete" 維持ポリシーを使う場合は空間を解放するために古いログのセグメントを削除する前にログを保持するだろう最大の時間を制御します。これはコンシューマがデータをどれだけ早く読まなければならないかのSLAを表します。-1に設定される場合、時間の制限無しが適用されます。
Type: long デフォルト: 604800000 (7 日) 有効な値: [-1,...] サーバのデフォルトのプロパティ: log.retention.ms 重要: medium -
segment.bytes
この設定はログのためのセグメントファイルサイズを制御します。維持と掃除は常にファイルに一度に行われます。つまり、大きなセグメントサイズは少ないファイルを意味しますが、維持の制御の粒度が小さくなります。
Type: dint デフォルト: 1073741824 (1 gibibyte) 有効な値: [14,...] サーバのデフォルトのプロパティ: log.segment.bytes 重要: medium -
segment.index.bytes
この設定はオフセットをファイルの場所にマップするインデックスのサイズを制御します。このインデックスファイルはあらかじめ割り当てられていて、ログがロールした後でのみ縮小されます。通常この設定を変更する必要はありません。
Type: dint デフォルト: 10485760 (10 mebibytes) 有効な値: [0,...] サーバのデフォルトのプロパティ: log.index.size.max.bytes 重要: medium -
segment.jitter.ms
立て続けのセグメントのローリングを避けるためにスケジュールされたセグメントロール時間から引かれるランダムなズレの最大
Type: long デフォルト: 0 有効な値: [0,...] サーバのデフォルトのプロパティ: log.roll.jitter.ms 重要: medium -
segment.ms
この設定は、保持の仕組みが古いデータを削除あるいは圧縮できるように、セグメントファイルが一杯では無い場合でもKafkaがログをロールするまでの時間を制御します。
Type: long デフォルト: 604800000 (7 日) 有効な値: [1,...] サーバのデフォルトのプロパティ: log.roll.ms 重要: medium -
unclean.leader.election.enable
データの喪失に繋がるとしても、最後の手段としてリーダーとして選出されるように設定されたISRに無いレプリカを有効にするかどうかを示す。
Type: boolean デフォルト: false 有効な値: サーバのデフォルトのプロパティ: unclean.leader.election.enable 重要: medium -
message.downconversion.enable
この設定はコンシューマのリクエストを満たすためにメッセージ形式のダウン-コンバージョンが有効にされるかどうかを制御します。
false
に設定された場合、ブローカーは古いメッセージ形式を期待するコンシューマのためのダウン-コンバージョンを行わないでしょう。そのような古いクライアントからのコンシューマリクエストについては、ブローカーはUNSUPPORTED_VERSION
エラーで応答します。この設定はフォロワーへのレプリケーションに必要とされるかもしれないメッセージ形式の変換に適用されません。Type: boolean デフォルト: true 有効な値: サーバのデフォルトのプロパティ: log.message.downconversion.enable 重要: low
3.3プロデューサの設定
以下はプロデューサの設定です:-
key.serializer
org.apache.kafka.common.serialization.Serializer
インタフェースを実装するキーのためのシリアライザ クラス。Type: クラス デフォルト: 有効な値: 重要: high -
value.serializer
org.apache.kafka.common.serialization.Serializer
インタフェースを実装する値のためのシリアライザ クラス。Type: クラス デフォルト: 有効な値: 重要: high -
acks
リクエストが完了したと見なす前にリーダーが受け取ることをプロデューサが要求する通知の数。これは送信されたレコードの持続性を制御します。以下の設定が可能です:
acks=0
0に設定されるとプロデューサはサーバからの承認を全く待たないでしょう。レコードはすぐにソケットバッファに追加され、送信されたものと見なされます。この場合サーバがレコードを受け取ったかどうかの保証はできません。そしてretries
設定は効果が無いでしょう (クライアントは一般的に障害を知らないため)。各レコードについて返されるオフセットは常に-1
に設定されるでしょう。acks=1
これは、リーダーはレコードをローカルログに書き込むが、すべてのフォロワーからの完全な応答を待たずに応答するでしょう。この場合、リーダは通知の直後でフォロワーがリプリケートする前に失敗すべきで、その後レコードが喪失するでしょう。acks=all
これは、リーダーはレコードに応答するためにin-syncレプリカの完全なセットを待つだろうことを意味します。これは、少なくとも1つのin-syncレプリカが生きている限りレコードは失われないだろうことを保証します。これはもっとも強力な利用可能な保証です。これは acks=-1 設定と同じです。
Type: 文字列 デフォルト: 1 有効な値: [all, -1, 0, 1] 重要: high -
bootstrap.servers
Kafkaクラスタへの初期の接続を確立するために使うホスト/ポートのペアのリスト。クライアントはブートストラッピングのためにここでどのサーバが指定されたかに関わらず全てのサーバを利用するでしょう — このリストはサーバの完全なセットを見つけるために使われる初期のホストにのみ影響を与えます。このリストは
host1:port1,host2:port2,...
の形式でなければなりません。これらのサーバは完全なクラスタの会員(動的に変わるかも知れません)を見つけるための初期接続に使われるため、このリストはサーバの完全なセットを含む必要はありません (しかし、サーバがダウンした場合のために1つ以上が望まれるかも知れません)。Type: list デフォルト: "" 有効な値: non-null string 重要: high -
buffer.memory
プロデューサがサーバに送られるのを待っているレコードをバッファするために使うことができるメモリの総バイト数。サーバに配送することができるより早くレコードが送信された場合、プロデューサは例外を投げた後で
max.block.ms
の間ブロックするでしょう。この設定は大まかにプロデューサが利用しようとする総メモリに対応しますが、プロデューサが使用する全てのメモリがバッファリングに使われるわけではないためハードバウンドではありません。いくつかの追加のメモリが圧縮(圧縮が有効な場合)と、やってきているリクエストを保持するために使われるでしょう。
Type: long デフォルト: 33554432 有効な値: [0,...] 重要: high -
compression.type
プロデューサによって生成された全てのデータのための圧縮タイプ。デフォルトは none (つまり、非圧縮)。有効な値は、
none
,gzip
,snappy
,lz4
あるいはzstd
です。圧縮はデータの完全なバッチです。つまりバッチの効果は圧縮率にも影響するでしょう (多くのバッチ化はより良い圧縮を意味します)。Type: 文字列 デフォルト: none 有効な値: 重要: high -
retries
0より大きい値を設定すると、クライアントは一時的なエラーによる障害による送信の全てのレコードを再送信するでしょう。この再試行はクライアントがエラーを受け取る時にレコードを再送するのと変わらないことに注意してください。
max.in.flight.requests.per.connection
を1に設定せずに再試行を許すと、もし2つのバッチが1つのパーティションに送信され、最初が失敗して2つ目が成功したが再試行し、2つ目のバッチのレコードが最初に現れるかもしれないため、レコードの順番が変わるかもしれません。さらに、delivery.timeout.ms
で設定されるタイムアウトが正常に確認される前に期限切れになる場合、再試行の回数を使い果たす前に生成のリクエストが失敗することに注意してください。ユーザは通常この設定を未設定のままにしておき、代わりに再試行の挙動を制御するためにdelivery.timeout.ms
を使うことをお勧めします。Type: dint デフォルト: 2147483647 有効な値: [0,...,2147483647] 重要: high -
ssl.key.password
The password of the private key in the key store file orthe PEM key specified in `ssl.keystore.key'. This is required for clients only if two-way authentication is configured.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.certificate.chain
Certificate chain in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with a list of X.509 certificates
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.key
Private key in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with PKCS#8 keys. If the key is encrypted, key password must be specified using 'ssl.key.password'
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.location
キーストアーファイルの場所。これはクライアントについては任意で、クライアントのための相互認証のために使うことができます。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.keystore.password
キーストアーファイルのためのストアパスワード。This is optional for client and only needed if 'ssl.keystore.location' is configured. Key store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.certificates
Trusted certificates in the format specified by 'ssl.truststore.type'. Default SSL engine factory supports only PEM format with X.509 certificates.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.location
トラストストアーファイルの場所。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.truststore.password
トラストストアーファイルのパスワード。If a password is not set, trust store file configured will still be used, but integrity checking is disabled. Trust store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
batch.size
多数のレコードが同じパーティションに送信される時はいつもプロデューサはバッチのレコードをより少ないリクエストにまとめようとするでしょう。これはクライアントとサーバの両方でパフォーマンスを助けます。この設定はデフォルトのバッチサイズをバイトで制御します。
このサイズより大きいバッチレコードには何も試行されないでしょう。
ブローカーに送信されるリクエストは複数のバッチを含むでしょう。各パーティションについて1つの送信することが可能なデータを持つバッチです。
小さなバッチサイズはバッチ化を一般的でなくし、スループットを下げるかもしれません(バッチサイズ 0はバッチ化を完全に無効にするでしょう)。大きなバッチサイズは追加のレコードに備えて指定されたバッチサイズのバッチを常に割り当てるため、メモリを幾分贅沢に使うかもしれません。
Type: dint デフォルト: 16384 有効な値: [0,...] 重要: medium -
client.dns.lookup
クライアントがどのようにDNSルックアップを使うかを制御します。
use_all_dns_ips
に設定された場合、正常な接続が確立されるまで、返された各 IP アドレスに順番に接続します。切断後に、次の IP が使われます。全ての IP が一度使われると、クライアントはホスト名から IP を再度解決します (ただし、JVM と OS の両方が DNS 名のルックアップをキャッシュします)。resolve_canonical_bootstrap_servers_only
に設定されると、各ブートストラップアドレスを正規の名前のリストに解決します。ブートストラップの段階の後で、これはuse_all_dns_ips
と同じように動作します。default
(非推奨)に設定されると、ルックアップが複数の IP アドレスを返す場合でも、ルックアップで返された最初の IP アドレスに接続しようとします。Type: 文字列 デフォルト: use_all_dns_ips 有効な値: [default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only] 重要: medium -
client.id
リクエストする時にサーバに渡されるid文字列。これの目的は、サーバ側のリクエストのログに論理アプリケーション名を追加することで、ip/portを超えたリクエストのソースの追跡をすることです。
Type: 文字列 デフォルト: "" 有効な値: 重要: medium -
connections.max.idle.ms
この設定によって指定されるミリ秒後にアイドルの接続を閉じます。
Type: long デフォルト: 540000 (9 分) 有効な値: 重要: medium -
delivery.timeout.ms
send()
の呼び出しが返された後、成功または失敗を報告する時間の上限。これは、送信前にレコードが遅延する合計時間、ブローカーからの確認応答を待機する時間(予想される場合)、そして再試行可能な送信障害に許可される時間を制限します。プロデューサは、回復不可能なエラーが発生した場合、再試行が使い果たされた場合、あるいはレコードが以前の配送有効期限に達したバッチに追加された場合に、この設定よりも前にレコードを送信できないことを報告するかもしれません。この設定の値は、request.timeout.ms
とlinger.ms
の合計以上にする必要があります。Type: dint デフォルト: 120000 (2 minutes) 有効な値: [0,...] 重要: medium -
linger.ms
プロデューサグループはリクエストの転送間に到着した全てのレコードを1つのバッチリクエストにまとめます。通常、これはレコードが送信できるように早く到着した時に負荷を受けてのみ起こります。しかし、ある状況では、クライアントは控えめな負荷の場合でもリクエストの数を減らしたいと思うかも知れません。この設定は少しの人為的な遅延によってこれを成し遂げます - つまり、すぐにレコードを送信するのではなく、プロデューサは一緒にバッチ化されることができるように他のレコードが送信されるように指定された遅延まで待つでしょう。これはTCPでのNagleアルゴリズムへの相似として考えることができます。この設定ではバッチ処理の遅延の上限が与えられます: パーティションについて一旦
batch.size
分のレコードを取得すると、それはこの設定に関係なく即座に送信されるでしょう。しかしもしこのパーティションについて集約されたバイトがこれより少ない場合、より多くのレコードが現れるまで指定された時間だけ'残る'でしょう。この設定のデフォルトは 0 です (つまり、遅延はありません)。例えば、linger.ms=5
に設定すると、送信されるリクエストの数を減らす効果がありますが、負荷が無い時にレコードの送信に5msのレイテンシを追加するでしょう。Type: long デフォルト: 0 有効な値: [0,...] 重要: medium -
max.block.ms
The configuration controls how long the
KafkaProducer
'ssend()
,partitionsFor()
,initTransactions()
,sendOffsetsToTransaction()
,commitTransaction()
andabortTransaction()
methods will block. Forsend()
this timeout bounds the total time waiting for both metadata fetch and buffer allocation (blocking in the user-supplied serializers or partitioner is not counted against this timeout). ForpartitionsFor()
this timeout bounds the time spent waiting for metadata if it is unavailable. The transaction-related methods always block, but may timeout if the transaction coordinator could not be discovered or did not respond within the timeout.Type: long デフォルト: 60000 (1 分) 有効な値: [0,...] 重要: medium -
max.request.size
リクエストの最大バイトサイズ。この設定は大きなリクエストを送信することを避けるためにプロデューサが1つのリクエスト内で送信するレコードのバッチの数を制限するでしょう。これは未圧縮の最大レコードバッチサイズの効果的なキャップでもあります。サーバはこれとは異なるかも知れないレコードバッチサイズ(圧縮が有効な場合は圧縮後)上の独自のキャップを持つことに注意してください。
Type: dint デフォルト: 1048576 有効な値: [0,...] 重要: medium -
partitioner.class
org.apache.kafka.clients.producer.Partitioner
インタフェースを実装するパーティショナークラス。Type: クラス デフォルト: org.apache.kafka.clients.producer.internals.DefaultPartitioner 有効な値: 重要: medium -
receive.buffer.bytes
データを読み込む時に使われるTCPレシーバーバッファ (SO_RCVBUF) のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 32768 (32 kibibytes) 有効な値: [-1,...] 重要: medium -
request.timeout.ms
この設定はクライアントがリクエストの応答を待つ総時間の最大を制御します。タイムアウトの時間が経過する前に応答が受信されない場合は、必要であればクライアントはリクエストを再送信するでしょう。あるいは再試行が使い尽くされた場合は失敗するでしょう。不必要なプロデューサの再試行によるメッセージの重複の可能性を減らすために、これは
replica.lag.time.max.ms
(ブローカーの設定) より大きくなければなりません。Type: dint デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: medium -
sasl.client.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASLクライアント コールバック ハンドラ クラスの完全修飾名。
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.jaas.config
JAAS設定ファイル内で使われる形式のSASL接続のためのJAAS login コンテキスト パラメータ。JAAS 設定ファイルのフォーマットはここで説明されます。値の形式は: '
loginModuleClass controlFlag (optionName=optionValue)*;
'。ブローカーについては、設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule が必要です;Type: password デフォルト: null 有効な値: 重要: medium -
sasl.kerberos.service.name
Kafkaが実行するKerbrosプリンシパル名。これはKafkaのJAAS設定あるいはKafkaの設定のどちらかで定義することができます。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
sasl.login.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASL ログイン コールバック ハンドラ クラスの完全修飾名。ブローカーについては、ログインのコールバックハンドラ設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.login.class
Loginインタフェースを実装するクラスの完全修飾名。ブローカーについては、ログイン設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.mechanism
クライアント接続で使われるSASL機構。これはセキュリティプロバイダが利用可能な全ての機構です。GSSAPI がデフォルトの機構です。
Type: 文字列 デフォルト: GSSAPI 有効な値: 重要: medium -
security.protocol
ブローカーと通信するために使われるプロトコル。有効な値は: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL。
Type: 文字列 デフォルト: PLAINTEXT 有効な値: 重要: medium -
send.buffer.bytes
データを送信する時に使われるTCP送信バッファ (SO_SNDBUF)のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 131072 (128 kibibytes) 有効な値: [-1,...] 重要: medium -
socket.connection.setup.timeout.max.ms
The maximum amount of time the client will wait for the socket connection to be established. The connection setup timeout will increase exponentially for each consecutive connection failure up to this maximum. To avoid connection storms, a randomization factor of 0.2 will be applied to the timeout resulting in a random range between 20% below and 20% above the computed value.
Type: long デフォルト: 127000 (127 seconds) 有効な値: 重要: medium -
socket.connection.setup.timeout.ms
The amount of time the client will wait for the socket connection to be established. If the connection is not built before the timeout elapses, clients will close the socket channel.
Type: long デフォルト: 10000 (10 秒) 有効な値: 重要: medium -
ssl.enabled.protocols
SSL接続のために有効にされるプロトコルのリスト。デフォルトは、Java 11以降で実行する場合は 'TLSv1.2,TLSv1.3'、それ以外の場合は、'TLSv1.2' です。Java 11 のデフォルト値では、クライアントとサーバはどちらもサポートする場合は TLSv1.3 を優先し、そうでない場合は TLSv1.2 にフォールバックしますjj(両方が少なくと TLSv1.2 をサポートする場合)。このデフォルトはほとんどの場合で十分です。`ssl.protocol` の設定ドキュメントも見てください。
Type: list デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.keystore.type
キーストアファイルのファイル形式。これはクライアントについては任意です。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
ssl.protocol
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' に設定されている場合、ssl.enabled.protocols の値のうちの1つで、サーバが 'TLSv1.3' だけをサポートする場合でも、クライアントは 'TLSv1.3' を使いません。
Type: 文字列 デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.provider
SSL接続のために使われるセキュリティプロバイダの名前。デフォルト値はJVMのデフォルトのセキュリティプロバイダです。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
ssl.truststore.type
トラストストアファイルのファイル形式。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
enable.idempotence
'true' に設定されると、プロデューサは各メッセージの確実に1回のコピーがストリームに書かれることを保証するでしょう。'false' の場合、プロデューサはブローカーの障害などによる再試行でストリーム内に再試行のメッセージの重複を書き込むかもしれません。等冪を有効にするには
max.in.flight.requests.per.connection
を5以下に設定する必要があり、retries
は0より大きく、acks
は 'all' でなければならないことに注意してください。これらの値がユーザによって明示的に設定されない場合、適切な値が選択されるでしょう。互換性の無い値が設定された場合、ConfigException
が投げられるでしょう。Type: boolean デフォルト: false 有効な値: 重要: low -
interceptor.classes
インタセプタとして使われるクラスのリスト。
org.apache.kafka.clients.producer.ProducerInterceptor
インタフェースの実装により、Kafkaクラスタに発行される前にプロデューサによって受け取られるレコードを捉え(そしておそらく変化す)ることができます。デフォルトでは、インタセプタはありません。Type: list デフォルト: "" 有効な値: non-null string 重要: low -
max.in.flight.requests.per.connection
クライアントがブロックされる前に1つの接続上で送信するだろう、返事の無いリクエストの最大数。この設定が1より大きく設定され、失敗した送信がある場合は、再試行(つまり、再試行が有効な場合)により、メッセージの再注文の可能性があります。
Type: dint デフォルト: 5 有効な値: [1,...] 重要: low -
metadata.max.age.ms
パーティションのリーダーシップが新しいブローカーあるいはパーティションを前もって見つけるために変更されたのを見ていないとしても、メタデータのリフレッシュを強制するミリ秒単位の時間。
Type: long デフォルト: 300000 (5 分) 有効な値: [0,...] 重要: low -
metadata.max.idle.ms
プロデューサがアイドル状態のトピックのメタデータをキャッシュする期間を制御します。トピックが最後に生成されてからの経過時間がメタデータのアイドル時間を超えた場合、トピックのメタデータは忘れられ、次のアクセスによりメタデータフェッチリクエストが強制されます。
Type: long デフォルト: 300000 (5 分) 有効な値: [5000,...] 重要: low -
metric.reporters
メトリクス レポーターとして使われるクラスのリスト。
org.apache.kafka.common.metrics.MetricsReporter
インタフェースの実装により、新しいメトリックの生成を知らせるクラスをプラグインすることができます。JMX統計を登録するために常に JmxReporter が含まれます。Type: list デフォルト: "" 有効な値: non-null string 重要: low -
metrics.num.samples
メトリクスを計算するために保持される標本の数。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: low -
metrics.recording.level
メトリクスのための最も高い記録レベル。
Type: 文字列 デフォルト: INFO 有効な値: [INFO, DEBUG, TRACE] 重要: low -
metrics.sample.window.ms
メトリクスの標本が計算されるための時間の窓。
Type: long デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.max.ms
接続が繰り返し失敗するブローカーへの再接続時に待つミリ秒単位の総最大時間。指定された場合、ホスト毎のバックオフはそれぞれの連続する失敗ごとにこの最大まで指数関数的に増加するでしょう。バックオフの計算を増加した後で、接続の嵐を避けるために20%のランダムなジッターが追加されます。
Type: long デフォルト: 1000 (1 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.ms
指定されたホストに再接続しようとするまで待機する基本的な総時間。これにより短いループ内でホストに繰り返し接続することを防ぎます。このbackoffはクライアントによってブローカーに送信される全ての接続に適用されます。
Type: long デフォルト: 50 有効な値: [0,...] 重要: low -
retry.backoff.ms
指定されたトピックパーティションへの失敗したリクエストを再試行しようとするまで待機する総時間。これにより短いループ内で幾つかの失敗のシナリオがある場合に繰り返しリクエストすることを防ぎます。
Type: long デフォルト: 100 有効な値: [0,...] 重要: low -
sasl.kerberos.kinit.cmd
Kerberos kinit コマンドライン パス。
Type: 文字列 デフォルト: /usr/bin/kinit 有効な値: 重要: low -
sasl.kerberos.min.time.before.relogin
リフレッシュ試行間のログインスレッドのスリープ時間。
Type: long デフォルト: 60000 有効な値: 重要: low -
sasl.kerberos.ticket.renew.jitter
更新時間に追加されるランダムなジッターのパーセンテージ。
Type: double デフォルト: 0.05 有効な値: 重要: low -
sasl.kerberos.ticket.renew.window.factor
最後にリフレッシュされてからチケットの期限切れまでの時間が指定されたウィンドウ要素になるまで、ログインスレッドはスリープします。そしてその時間にチケットを更新しようとするでしょう。
Type: double デフォルト: 0.8 有効な値: 重要: low -
sasl.login.refresh.buffer.seconds
証明書をリフレッシュする時に証明書の有効期限を維持するバッファ時間の秒数。そうでなければ、バッファの秒数よりも有効期限の近くで更新が発生する場合、可能な限り多くのバッファ時間を維持するために、更新が上に移動されます。有効な値は0から3600(1時間); 値が指定されない場合はデフォルトの値 300 (5分)が使われます。この値と sasl.login.refresh.min.period.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 300 有効な値: [0,...,3600] 重要: low -
sasl.login.refresh.min.period.seconds
証明書をリフレッシュする前にログイン フレッシュ スレッドが待つ望ましい最小の時間の秒数。有効な値は0から900 (15分); 値が指定されない場合はデフォルトの値60(1分)が使われます。この値と sasl.login.refresh.buffer.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 60 有効な値: [0,...,900] 重要: low -
sasl.login.refresh.window.factor
ログイン フレッシュ スレッドは、証明書の生存期間に関連した指定されたウィンドウ ファクタに達するまでスリープしようとします。その時点で証明書をリフレッシュしようとするでしょう。有効な値は0.5 (50%)以上と1.0 (100%)以下の間です; 値が指定されない場合はデフォルトの値 0.8 (80%)が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.8 有効な値: [0.5,...,1.0] 重要: low -
sasl.login.refresh.window.jitter
ログイン スレッドのスリープ時間に追加された証明書の生存期間に対するランダム ジッタの最大量。有効な値は 0以上と0.25 (25%)以下の間です; 値が指定されない場合はデフォルトの値 0.05 (5%) が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.05 有効な値: [0.0,...,0.25] 重要: low -
security.providers
セキュリティアルゴリズムを実装するプロバイダをそれぞれ返す構成可能なクリエイタクラスのリスト。これらのクラスは、
org.apache.kafka.common.security.auth.SecurityProviderCreator
インスタンスを実装しなければなりません。Type: 文字列 デフォルト: null 有効な値: 重要: low -
ssl.cipher.suites
cipher スイーツのリストこれはTLSあるいはSSLネットワークプロトコルを使うネットワーク接続のためのセキュリティ設定を取り決めるために使われる、認証、暗号化、MACおよびキー交換アルゴリズムの名前の組み合わせです。デフォルトでは全ての利用可能なcipherスイーツがサポートされます。
Type: list デフォルト: null 有効な値: 重要: low -
ssl.endpoint.identification.algorithm
サーバの証明書を使ってサーバのホスト名を検証するためのエンドポイント識別アルゴリズム。
Type: 文字列 デフォルト: https 有効な値: 重要: low -
ssl.engine.factory.class
SSLEngine オブジェクトを提供するための org.apache.kafka.common.security.auth.SslEngineFactory 型のクラス。デフォルト値は、org.apache.kafka.common.security.ssl.DefaultSslEngineFactory です
Type: クラス デフォルト: null 有効な値: 重要: low -
ssl.keymanager.algorithm
SSL接続のためにキーマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されたキーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: SunX509 有効な値: 重要: low -
ssl.secure.random.implementation
SSL暗号化操作のために使われる SecureRandom PRNG 実装。
Type: 文字列 デフォルト: null 有効な値: 重要: low -
ssl.trustmanager.algorithm
SSL接続のためにトラストマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されトラストーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: PKIX 有効な値: 重要: low -
transaction.timeout.ms
The maximum amount of time in ms that the transaction coordinator will wait for a transaction status update from the producer before proactively aborting the ongoing transaction.If this value is larger than the transaction.max.timeout.ms setting in the broker, the request will fail with a
InvalidTxnTimeoutException
error.Type: dint デフォルト: 60000 (1 分) 有効な値: 重要: low -
transactional.id
トランザクションの配送のために使うTransactionalId。これは、クライアントに新しいトランザクションが開始される前に同じトランザクションidを使っているトランザクションを保証するため、複数のプロデューサセッションにまたがる信頼性セマンティクスを有効にします。TransactionalId が指定されない場合、プロデューサは等冪な配送に制限されます。TransactionalId が構成されている場合、
enable.idempotence
が暗黙指定されます。デフォルトでは、TransactionId は構成されていません。つまり、トランザクションは使われません。トランザクションはデフォルトでプロダクションのための設定に推奨される少なくとも3つのブローカーのクラスタを必要とすることに注意してください; 開発のためにブローカーの設定transaction.state.log.replication.factor
を調整することでこれを変更することができます。Type: 文字列 デフォルト: null 有効な値: 空では無い文字列 重要: low
3.4コンシューマの設定
以下はコンシューマのための設定です:-
key.deserializer
org.apache.kafka.common.serialization.Deserializer
インタフェースを実装するキーのためのDeserializerクラス。Type: クラス デフォルト: 有効な値: 重要: high -
value.deserializer
org.apache.kafka.common.serialization.Deserializer
インタフェースを実装する値のためのDeserializerクラス。Type: クラス デフォルト: 有効な値: 重要: high -
bootstrap.servers
Kafkaクラスタへの初期の接続を確立するために使うホスト/ポートのペアのリスト。クライアントはブートストラッピングのためにここでどのサーバが指定されたかに関わらず全てのサーバを利用するでしょう — このリストはサーバの完全なセットを見つけるために使われる初期のホストにのみ影響を与えます。このリストは
host1:port1,host2:port2,...
の形式でなければなりません。これらのサーバは完全なクラスタの会員(動的に変わるかも知れません)を見つけるための初期接続に使われるため、このリストはサーバの完全なセットを含む必要はありません (しかし、サーバがダウンした場合のために1つ以上が望まれるかも知れません)。Type: list デフォルト: "" 有効な値: non-null string 重要: high -
fetch.min.bytes
サーバが各フェッチリクエストについて返さなければならないデータの最小量。十分なデータが利用可能では無い場合、リクエストはリクエストに返答する前に多くのデータを集めるのを待つでしょう。デフォルトの設定の1バイトは、データの1バイトが利用可能、あるいはデータの到着を待っているフェッチリクエストがタイムアウトするとすぐにフェッチリクエストに応答することを意味します。これを1より大きいものに設定すると、データの大部分をサーバが待つようになり、ある程度の追加のレイテンシを犠牲にして少しだけサーバのスループットを改善するでしょう。
Type: dint デフォルト: 1 有効な値: [0,...] 重要: high -
group.id
このコンシューマが所属するコンシューマグループを識別するユニークな文字列。このプロパティは、もしコンシューマが
subscribe(topic)
を使ってグループの管理機能、あるいはKafkaベースのオフセットの管理戦略を使う場合に必須です。Type: 文字列 デフォルト: null 有効な値: 重要: high -
heartbeat.interval.ms
Kafkaのグループ管理機能を使う時に、コンシューマのコーディネータへのハートビート間に期待する時間。ハートビートはコンシューマのセッションが活動中であることを保証し、新しいコンシューマがグループに参加あるいは離れる時のリバランスを円滑にするために使われます。値は
session.timeout.ms
より小さくなければなりませんが、一般的にはその値の1/3より大きく設定されなければなりません。通常の再バランスについては、期待する時間を制御するために少し小さく調整されるかも知れません。Type: dint デフォルト: 3000 (3 秒) 有効な値: 重要: high -
max.partition.fetch.bytes
サーバが返すパーティションあたりのデータの最大総量。レコードはコンシューマによってバッチ内で取得されます。取得の最初の空では無いパーティション内の最初のレコードバッチはこの制限よりも大きく、コンシューマが進めることができるようにバッチはまだ返されるでしょう。ブローカーに受け付けられる最大レコードバッチサイズは
message.max.bytes
(ブローカー設定) あるいはmax.message.bytes
(トピック設定) によって定義されます。コンシューマのリクエストサイズの制限については、fetch.max.bytes を見てください。Type: dint デフォルト: 1048576 (1 mebibyte) 有効な値: [0,...] 重要: high -
session.timeout.ms
Kafkaのグループ管理機能を使う時に、クライアントの障害を検知するために使われるタイムアウト。クライアントはその生存をブローカーに示すために定期的なハートビートを送信します。このセッションのタイムアウトが期限切れになる前にハートビートがブローカーによって受け取られない場合は、ブローカーはグループからこのクライアントを削除しリバランスを初期化するでしょう。値は
group.min.session.timeout.ms
とgroup.max.session.timeout.ms
によって設定されるブローカーの設定内で設定される可能な範囲内でなければならないことに注意してください。Type: dint デフォルト: 10000 (10 秒) 有効な値: 重要: high -
ssl.key.password
The password of the private key in the key store file orthe PEM key specified in `ssl.keystore.key'. This is required for clients only if two-way authentication is configured.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.certificate.chain
Certificate chain in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with a list of X.509 certificates
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.key
Private key in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with PKCS#8 keys. If the key is encrypted, key password must be specified using 'ssl.key.password'
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.location
キーストアーファイルの場所。これはクライアントについては任意で、クライアントのための相互認証のために使うことができます。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.keystore.password
キーストアーファイルのためのストアパスワード。This is optional for client and only needed if 'ssl.keystore.location' is configured. Key store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.certificates
Trusted certificates in the format specified by 'ssl.truststore.type'. Default SSL engine factory supports only PEM format with X.509 certificates.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.location
トラストストアーファイルの場所。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.truststore.password
トラストストアーファイルのパスワード。If a password is not set, trust store file configured will still be used, but integrity checking is disabled. Trust store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
allow.auto.create.topics
トピックの購読あるいは割り当て時に、ブローカーでのトピックの自動生成を許可します。購読しているトピックは、ブローカーが `auto.create.topics.enable` ブローカー設定を使って許可している場合のみ、自動的に生成されます。この設定は 0.11.0 より古いブローカーを使っている場合に `false` に設定する必要があります。
Type: boolean デフォルト: true 有効な値: 重要: medium -
auto.offset.reset
Kafkaの初期オフセットが無い場合、あるいは現在のオフセットがサーバ上にもうない場合(例えば、データが削除された)に、何をするか?:
- earliest: 自動的にオフセットを最も早いものに再設定
- latest: 自動的にオフセットを最も遅いオフセットに再設定
- none: コンシューマグループについて以前のオフセットが無い場合はコンシューマに例外を投げる
- いずれでも無い場合: コンシューマに例外を投げます。
Type: 文字列 デフォルト: latest 有効な値: [latest, earliest, none] 重要: medium -
client.dns.lookup
クライアントがどのようにDNSルックアップを使うかを制御します。
use_all_dns_ips
に設定された場合、正常な接続が確立されるまで、返された各 IP アドレスに順番に接続します。切断後に、次の IP が使われます。全ての IP が一度使われると、クライアントはホスト名から IP を再度解決します (ただし、JVM と OS の両方が DNS 名のルックアップをキャッシュします)。resolve_canonical_bootstrap_servers_only
に設定されると、各ブートストラップアドレスを正規の名前のリストに解決します。ブートストラップの段階の後で、これはuse_all_dns_ips
と同じように動作します。default
(非推奨)に設定されると、ルックアップが複数の IP アドレスを返す場合でも、ルックアップで返された最初の IP アドレスに接続しようとします。Type: 文字列 デフォルト: use_all_dns_ips 有効な値: [default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only] 重要: medium -
connections.max.idle.ms
この設定によって指定されるミリ秒後にアイドルの接続を閉じます。
Type: long デフォルト: 540000 (9 分) 有効な値: 重要: medium -
default.api.timeout.ms
クライアント API のタイムアウト (ミリ秒)を指定します。この設定は
timeout
パラメータを指定しない、全てのクライアント操作のデフォルトのタイムアウトとして使われます。Type: dint デフォルト: 60000 (1 分) 有効な値: [0,...] 重要: medium -
enable.auto.commit
trueの場合、コンシューマのオフセットはバックグラウンドで定期的にコミットされるでしょう。
Type: boolean デフォルト: true 有効な値: 重要: medium -
exclude.internal.topics
購読されたパターンに一致する内部トピックを購読から除外すべきかどうか。内部トピックを明示的に購読することは常に可能です。
Type: boolean デフォルト: true 有効な値: 重要: medium -
fetch.max.bytes
サーバが各フェッチリクエストについて返さなければならないデータの最大量。レコードはコンシューマによってバッチ内で取得されます。もし最初の空では無いパーティション内の最初のメッセージがこの値より大きい場合、コンシューマが進めることができるようにレコードのバッチはまだ返されるでしょう。このように、これは絶対的な最大ではありません。ブローカーに受け付けられる最大レコードバッチサイズは
message.max.bytes
(ブローカー設定) あるいはmax.message.bytes
(トピック設定) によって定義されます。コンシューマは並行して複数の取得を行うことに注意してください。Type: dint デフォルト: 52428800 (50 mebibytes) 有効な値: [0,...] 重要: medium -
group.instance.id
エンドユーザによって提供されるコンシューマ インスタンスの一意の識別子。空では無い文字列のみが許可されます。設定されている場合、コンシューマは静的なメンバーとして扱われます。常にこのIDを持つ1つのインスタンスだけがコンシューマ グループ内で許可されます。より大きなセッションタイムアウトと組み合わせて使うことで、(プロセスの再起動など)一時的な利用不可によって起こるグループのリバランスを回避することができます。設定されていない場合、コンシューマは動的なメンバーとしてグループに参加します。これは従来の挙動です。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
isolation.level
トランザクション的に書き込まれるメッセージをどうやって読むかを制御します。
read_committed
に設定された場合、consumer.poll() はコミットされたトランザクション的なメッセージのみを返すでしょう。read_uncommitted
(デフォルト) に設定された場合、consumer.poll() は破棄されたトランザクション的なメッセージであっても全てのメッセージを返すでしょう。どちらのモードでも非トランザクション的なメッセージは無条件に返されるでしょう。メッセージは常にオフセットの順番で返されるでしょう。従って、
read_committed
モードでは、consumer.poll() は最後の安定したオフセット (LSO) までのメッセージのみを返すでしょう。これは最初に開いたトランザクションのオフセットに他なりません。特に実行中のトランザクションに所属するメッセージの後に現れる全てのメッセージは、関係するトランザクションが完了するまで保留されるでしょう。結果として、read_committed
コンシューマは実行中のトランザクションの高いウォーターマークまで読み込むことができないでしょう。さらに、
read_committed
の場合、seekToEnd メソッドはLSOを返します。Type: 文字列 デフォルト: read_uncommitted 有効な値: [read_committed, read_uncommitted] 重要: medium -
max.poll.interval.ms
コンシューマグループ管理を使う時の poll() の起動間の最大の遅延。これはコンシューマがより多くのレコードを取得する前に仕事をしないでいられる総時間に上限を置きます。poll() がこのタイムアウトの期限切れの前に呼ばれなかった場合、コンシューマは失敗したと見なされ、グループはパーティションを他のメンバーに割り当てるためにリバランスするでしょう。このタイムアウトに達する null 以外の
group.instance.id
を使っているコンシューマの場合、パーティションはすぐに再割り当てされません。代わりに、コンシューマはハートビートの送信を停止し、パーティションはsession.timeout.ms
の有効期限が切れるとパーティションが再割り当てされます。これは、シャットダウンした静的なコンシューマの動作を反映します。Type: dint デフォルト: 300000 (5 分) 有効な値: [1,...] 重要: medium -
max.poll.records
poll()への1つの呼び出しで返されるレコードの最大数。
Type: dint デフォルト: 500 有効な値: [1,...] 重要: medium -
partition.assignment.strategy
グループ管理が使われる場合に、クライアントがコンシューマインスタンス間でパーティションの所有権を分散するために使う、サポートされるパーティション割り当て戦略の優先度順のクラス名とクラスの型のリスト。
以下で指定されるデフォルトのクラスに加えて、
org.apache.kafka.clients.consumer.RoundRobinAssignor
クラスを使って、コンシューマへのパーティションのラウンドロビン割り当てを行うことができます。org.apache.kafka.clients.consumer.ConsumerPartitionAssignor
インタフェースを実装することにより、カスタム割り当て戦略をプラグインすることができます。Type: list デフォルト: class org.apache.kafka.clients.consumer.RangeAssignor 有効な値: non-null string 重要: medium -
receive.buffer.bytes
データを読み込む時に使われるTCPレシーバーバッファ (SO_RCVBUF) のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 65536 (64 kibibytes) 有効な値: [-1,...] 重要: medium -
request.timeout.ms
この設定はクライアントがリクエストの応答を待つ総時間の最大を制御します。タイムアウトの時間が経過する前に応答が受信されない場合は、必要であればクライアントはリクエストを再送信するでしょう。あるいは再試行が使い尽くされた場合は失敗するでしょう。
Type: dint デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: medium -
sasl.client.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASLクライアント コールバック ハンドラ クラスの完全修飾名。
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.jaas.config
JAAS設定ファイル内で使われる形式のSASL接続のためのJAAS login コンテキスト パラメータ。JAAS 設定ファイルのフォーマットはここで説明されます。値の形式は: '
loginModuleClass controlFlag (optionName=optionValue)*;
'。ブローカーについては、設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule が必要です;Type: password デフォルト: null 有効な値: 重要: medium -
sasl.kerberos.service.name
Kafkaが実行するKerbrosプリンシパル名。これはKafkaのJAAS設定あるいはKafkaの設定のどちらかで定義することができます。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
sasl.login.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASL ログイン コールバック ハンドラ クラスの完全修飾名。ブローカーについては、ログインのコールバックハンドラ設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.login.class
Loginインタフェースを実装するクラスの完全修飾名。ブローカーについては、ログイン設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.mechanism
クライアント接続で使われるSASL機構。これはセキュリティプロバイダが利用可能な全ての機構です。GSSAPI がデフォルトの機構です。
Type: 文字列 デフォルト: GSSAPI 有効な値: 重要: medium -
security.protocol
ブローカーと通信するために使われるプロトコル。有効な値は: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL。
Type: 文字列 デフォルト: PLAINTEXT 有効な値: 重要: medium -
send.buffer.bytes
データを送信する時に使われるTCP送信バッファ (SO_SNDBUF)のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 131072 (128 kibibytes) 有効な値: [-1,...] 重要: medium -
socket.connection.setup.timeout.max.ms
The maximum amount of time the client will wait for the socket connection to be established. The connection setup timeout will increase exponentially for each consecutive connection failure up to this maximum. To avoid connection storms, a randomization factor of 0.2 will be applied to the timeout resulting in a random range between 20% below and 20% above the computed value.
Type: long デフォルト: 127000 (127 seconds) 有効な値: 重要: medium -
socket.connection.setup.timeout.ms
The amount of time the client will wait for the socket connection to be established. If the connection is not built before the timeout elapses, clients will close the socket channel.
Type: long デフォルト: 10000 (10 秒) 有効な値: 重要: medium -
ssl.enabled.protocols
SSL接続のために有効にされるプロトコルのリスト。デフォルトは、Java 11以降で実行する場合は 'TLSv1.2,TLSv1.3'、それ以外の場合は、'TLSv1.2' です。Java 11 のデフォルト値では、クライアントとサーバはどちらもサポートする場合は TLSv1.3 を優先し、そうでない場合は TLSv1.2 にフォールバックしますjj(両方が少なくと TLSv1.2 をサポートする場合)。このデフォルトはほとんどの場合で十分です。`ssl.protocol` の設定ドキュメントも見てください。
Type: list デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.keystore.type
キーストアファイルのファイル形式。これはクライアントについては任意です。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
ssl.protocol
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' に設定されている場合、ssl.enabled.protocols の値のうちの1つで、サーバが 'TLSv1.3' だけをサポートする場合でも、クライアントは 'TLSv1.3' を使いません。
Type: 文字列 デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.provider
SSL接続のために使われるセキュリティプロバイダの名前。デフォルト値はJVMのデフォルトのセキュリティプロバイダです。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
ssl.truststore.type
トラストストアファイルのファイル形式。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
auto.commit.interval.ms
もし
enable.auto.commit
がtrue
に設定されている場合に、コンシューマのオフセットがKafkaに自動コミットされる頻度のミリ秒。Type: dint デフォルト: 5000 (5 秒) 有効な値: [0,...] 重要: low -
check.crcs
消費されるレコードのCRC32を自動的にチェックする。これにより、通信上あるいはディスク上でメッセージの改竄が無いことを保証します。この調査はいくらかの負荷があるため、極度にパフォーマンスを求めている場合は無効にされているかも知れません。
Type: boolean デフォルト: true 有効な値: 重要: low -
client.id
リクエストする時にサーバに渡されるid文字列。これの目的は、サーバ側のリクエストのログに論理アプリケーション名を追加することで、ip/portを超えたリクエストのソースの追跡をすることです。
Type: 文字列 デフォルト: "" 有効な値: 重要: low -
client.rack
このクライアントのラック識別子。これはこのクライアントが物理的に配置されている場所を示す任意の文字列値にすることができます。ブローカー設定の 'broker.rack' に対応します。
Type: 文字列 デフォルト: "" 有効な値: 重要: low -
fetch.max.wait.ms
すぐに指定されたfetch.min.bytes の要求を満たす十分なデータが無い場合に、サーバがフェッチリクエストに応答する前にブロックする最大の時間。
Type: dint デフォルト: 500 有効な値: [0,...] 重要: low -
interceptor.classes
インタセプタとして使われるクラスのリスト。
org.apache.kafka.clients.consumer.ConsumerInterceptor
インタフェースを実装することにより、コンシューマによって受け取られるレコードを捕らえ(そしておそらく変化)することができます。デフォルトでは、インタセプタはありません。Type: list デフォルト: "" 有効な値: non-null string 重要: low -
metadata.max.age.ms
パーティションのリーダーシップが新しいブローカーあるいはパーティションを前もって見つけるために変更されたのを見ていないとしても、メタデータのリフレッシュを強制するミリ秒単位の時間。
Type: long デフォルト: 300000 (5 分) 有効な値: [0,...] 重要: low -
metric.reporters
メトリクス レポーターとして使われるクラスのリスト。
org.apache.kafka.common.metrics.MetricsReporter
インタフェースの実装により、新しいメトリックの生成を知らせるクラスをプラグインすることができます。JMX統計を登録するために常に JmxReporter が含まれます。Type: list デフォルト: "" 有効な値: non-null string 重要: low -
metrics.num.samples
メトリクスを計算するために保持される標本の数。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: low -
metrics.recording.level
メトリクスのための最も高い記録レベル。
Type: 文字列 デフォルト: INFO 有効な値: [INFO, DEBUG, TRACE] 重要: low -
metrics.sample.window.ms
メトリクスの標本が計算されるための時間の窓。
Type: long デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.max.ms
接続が繰り返し失敗するブローカーへの再接続時に待つミリ秒単位の総最大時間。指定された場合、ホスト毎のバックオフはそれぞれの連続する失敗ごとにこの最大まで指数関数的に増加するでしょう。バックオフの計算を増加した後で、接続の嵐を避けるために20%のランダムなジッターが追加されます。
Type: long デフォルト: 1000 (1 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.ms
指定されたホストに再接続しようとするまで待機する基本的な総時間。これにより短いループ内でホストに繰り返し接続することを防ぎます。このbackoffはクライアントによってブローカーに送信される全ての接続に適用されます。
Type: long デフォルト: 50 有効な値: [0,...] 重要: low -
retry.backoff.ms
指定されたトピックパーティションへの失敗したリクエストを再試行しようとするまで待機する総時間。これにより短いループ内で幾つかの失敗のシナリオがある場合に繰り返しリクエストすることを防ぎます。
Type: long デフォルト: 100 有効な値: [0,...] 重要: low -
sasl.kerberos.kinit.cmd
Kerberos kinit コマンドライン パス。
Type: 文字列 デフォルト: /usr/bin/kinit 有効な値: 重要: low -
sasl.kerberos.min.time.before.relogin
リフレッシュ試行間のログインスレッドのスリープ時間。
Type: long デフォルト: 60000 有効な値: 重要: low -
sasl.kerberos.ticket.renew.jitter
更新時間に追加されるランダムなジッターのパーセンテージ。
Type: double デフォルト: 0.05 有効な値: 重要: low -
sasl.kerberos.ticket.renew.window.factor
最後にリフレッシュされてからチケットの期限切れまでの時間が指定されたウィンドウ要素になるまで、ログインスレッドはスリープします。そしてその時間にチケットを更新しようとするでしょう。
Type: double デフォルト: 0.8 有効な値: 重要: low -
sasl.login.refresh.buffer.seconds
証明書をリフレッシュする時に証明書の有効期限を維持するバッファ時間の秒数。そうでなければ、バッファの秒数よりも有効期限の近くで更新が発生する場合、可能な限り多くのバッファ時間を維持するために、更新が上に移動されます。有効な値は0から3600(1時間); 値が指定されない場合はデフォルトの値 300 (5分)が使われます。この値と sasl.login.refresh.min.period.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 300 有効な値: [0,...,3600] 重要: low -
sasl.login.refresh.min.period.seconds
証明書をリフレッシュする前にログイン フレッシュ スレッドが待つ望ましい最小の時間の秒数。有効な値は0から900 (15分); 値が指定されない場合はデフォルトの値60(1分)が使われます。この値と sasl.login.refresh.buffer.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 60 有効な値: [0,...,900] 重要: low -
sasl.login.refresh.window.factor
ログイン フレッシュ スレッドは、証明書の生存期間に関連した指定されたウィンドウ ファクタに達するまでスリープしようとします。その時点で証明書をリフレッシュしようとするでしょう。有効な値は0.5 (50%)以上と1.0 (100%)以下の間です; 値が指定されない場合はデフォルトの値 0.8 (80%)が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.8 有効な値: [0.5,...,1.0] 重要: low -
sasl.login.refresh.window.jitter
ログイン スレッドのスリープ時間に追加された証明書の生存期間に対するランダム ジッタの最大量。有効な値は 0以上と0.25 (25%)以下の間です; 値が指定されない場合はデフォルトの値 0.05 (5%) が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.05 有効な値: [0.0,...,0.25] 重要: low -
security.providers
セキュリティアルゴリズムを実装するプロバイダをそれぞれ返す構成可能なクリエイタクラスのリスト。これらのクラスは、
org.apache.kafka.common.security.auth.SecurityProviderCreator
インスタンスを実装しなければなりません。Type: 文字列 デフォルト: null 有効な値: 重要: low -
ssl.cipher.suites
cipher スイーツのリストこれはTLSあるいはSSLネットワークプロトコルを使うネットワーク接続のためのセキュリティ設定を取り決めるために使われる、認証、暗号化、MACおよびキー交換アルゴリズムの名前の組み合わせです。デフォルトでは全ての利用可能なcipherスイーツがサポートされます。
Type: list デフォルト: null 有効な値: 重要: low -
ssl.endpoint.identification.algorithm
サーバの証明書を使ってサーバのホスト名を検証するためのエンドポイント識別アルゴリズム。
Type: 文字列 デフォルト: https 有効な値: 重要: low -
ssl.engine.factory.class
SSLEngine オブジェクトを提供するための org.apache.kafka.common.security.auth.SslEngineFactory 型のクラス。デフォルト値は、org.apache.kafka.common.security.ssl.DefaultSslEngineFactory です
Type: クラス デフォルト: null 有効な値: 重要: low -
ssl.keymanager.algorithm
SSL接続のためにキーマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されたキーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: SunX509 有効な値: 重要: low -
ssl.secure.random.implementation
SSL暗号化操作のために使われる SecureRandom PRNG 実装。
Type: 文字列 デフォルト: null 有効な値: 重要: low -
ssl.trustmanager.algorithm
SSL接続のためにトラストマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されトラストーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: PKIX 有効な値: 重要: low
3.5Kafka 接続設定
以下はKafka接続フレームワークの設定です。-
config.storage.topic
コネクタの設定が格納されているKafkaトピック名
Type: 文字列 デフォルト: 有効な値: 重要: high -
group.id
このワーカーグループが所属する接続クラスタグループを識別するユニークな文字列。
Type: 文字列 デフォルト: 有効な値: 重要: high -
key.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれるキーの形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。
Type: クラス デフォルト: 有効な値: 重要: high -
offset.storage.topic
コネクタのオフセットが格納されているKafkaトピック名
Type: 文字列 デフォルト: 有効な値: 重要: high -
status.storage.topic
コネクタとタスクの状態が格納されているKafkaトピック名
Type: 文字列 デフォルト: 有効な値: 重要: high -
value.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれる値の形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。
Type: クラス デフォルト: 有効な値: 重要: high -
bootstrap.servers
Kafkaクラスタへの初期の接続を確立するために使うホスト/ポートのペアのリスト。クライアントはブートストラッピングのためにここでどのサーバが指定されたかに関わらず全てのサーバを利用するでしょう — このリストはサーバの完全なセットを見つけるために使われる初期のホストにのみ影響を与えます。このリストは
host1:port1,host2:port2,...
の形式でなければなりません。これらのサーバは完全なクラスタの会員(動的に変わるかも知れません)を見つけるための初期接続に使われるため、このリストはサーバの完全なセットを含む必要はありません (しかし、サーバがダウンした場合のために1つ以上が望まれるかも知れません)。Type: list デフォルト: localhost:9092 有効な値: 重要: high -
heartbeat.interval.ms
Kafkaのグループ管理機能を使う時に、コンシューマのグループコーディネータへのハートビート間に期待する時間。ハートビートはワーカーのセッションが活動中であることを保証し、新しいメンバーがグループに参加あるいは離れる時のリバランスを円滑にするために使われます。値は
session.timeout.ms
より小さくなければなりませんが、一般的にはその値の1/3より大きく設定されなければなりません。通常の再バランスについては、期待する時間を制御するために少し小さく調整されるかも知れません。Type: dint デフォルト: 3000 (3 秒) 有効な値: 重要: high -
rebalance.timeout.ms
一旦リバランスが開始された後で各ワーカーがグループに入ることができる最大時間。これは基本的に全てのタスクが全ての延期されているデータをフラッシュしオフセットをコミットするのに必要な総時間を制限します。タイムアウトを超えると、ワーカーはグループから削除されるでしょう。これはオフセットのコミットの失敗を起こすでしょう。
Type: dint デフォルト: 60000 (1 分) 有効な値: 重要: high -
session.timeout.ms
ワーカーの障害を検知するために使われるタイムアウト。ワーカーはその生存をブローカーに示すために定期的なハートビートを送信します。このセッションのタイムアウトが期限切れになる前にハートビートがブローカーによって受け取られない場合は、ブローカーはグループからこのワーカーを削除しリバランスを初期化するでしょう。値は
group.min.session.timeout.ms
とgroup.max.session.timeout.ms
によって設定されるブローカーの設定内で設定される可能な範囲内でなければならないことに注意してください。Type: dint デフォルト: 10000 (10 秒) 有効な値: 重要: high -
ssl.key.password
The password of the private key in the key store file orthe PEM key specified in `ssl.keystore.key'. This is required for clients only if two-way authentication is configured.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.certificate.chain
Certificate chain in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with a list of X.509 certificates
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.key
Private key in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with PKCS#8 keys. If the key is encrypted, key password must be specified using 'ssl.key.password'
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.location
キーストアーファイルの場所。これはクライアントについては任意で、クライアントのための相互認証のために使うことができます。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.keystore.password
キーストアーファイルのためのストアパスワード。This is optional for client and only needed if 'ssl.keystore.location' is configured. Key store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.certificates
Trusted certificates in the format specified by 'ssl.truststore.type'. Default SSL engine factory supports only PEM format with X.509 certificates.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.location
トラストストアーファイルの場所。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.truststore.password
トラストストアーファイルのパスワード。If a password is not set, trust store file configured will still be used, but integrity checking is disabled. Trust store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
client.dns.lookup
クライアントがどのようにDNSルックアップを使うかを制御します。
use_all_dns_ips
に設定された場合、正常な接続が確立されるまで、返された各 IP アドレスに順番に接続します。切断後に、次の IP が使われます。全ての IP が一度使われると、クライアントはホスト名から IP を再度解決します (ただし、JVM と OS の両方が DNS 名のルックアップをキャッシュします)。resolve_canonical_bootstrap_servers_only
に設定されると、各ブートストラップアドレスを正規の名前のリストに解決します。ブートストラップの段階の後で、これはuse_all_dns_ips
と同じように動作します。default
(非推奨)に設定されると、ルックアップが複数の IP アドレスを返す場合でも、ルックアップで返された最初の IP アドレスに接続しようとします。Type: 文字列 デフォルト: use_all_dns_ips 有効な値: [default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only] 重要: medium -
connections.max.idle.ms
この設定によって指定されるミリ秒後にアイドルの接続を閉じます。
Type: long デフォルト: 540000 (9 分) 有効な値: 重要: medium -
connector.client.config.override.policy
ConnectorClientConfigOverridePolicy
の実装のクラス名あるいはエイリアス。どのクライアントの設定がコネクタによって上書き可能かを定義します。デフォルトの実装は `None` です。フレームワーク内で他に可能なポリシーには `All` と `Principal` が含まれます。Type: 文字列 デフォルト: None 有効な値: 重要: medium -
receive.buffer.bytes
データを読み込む時に使われるTCPレシーバーバッファ (SO_RCVBUF) のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 32768 (32 kibibytes) 有効な値: [0,...] 重要: medium -
request.timeout.ms
この設定はクライアントがリクエストの応答を待つ総時間の最大を制御します。タイムアウトの時間が経過する前に応答が受信されない場合は、必要であればクライアントはリクエストを再送信するでしょう。あるいは再試行が使い尽くされた場合は失敗するでしょう。
Type: dint デフォルト: 40000 (40 seconds) 有効な値: [0,...] 重要: medium -
sasl.client.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASLクライアント コールバック ハンドラ クラスの完全修飾名。
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.jaas.config
JAAS設定ファイル内で使われる形式のSASL接続のためのJAAS login コンテキスト パラメータ。JAAS 設定ファイルのフォーマットはここで説明されます。値の形式は: '
loginModuleClass controlFlag (optionName=optionValue)*;
'。ブローカーについては、設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule が必要です;Type: password デフォルト: null 有効な値: 重要: medium -
sasl.kerberos.service.name
Kafkaが実行するKerbrosプリンシパル名。これはKafkaのJAAS設定あるいはKafkaの設定のどちらかで定義することができます。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
sasl.login.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASL ログイン コールバック ハンドラ クラスの完全修飾名。ブローカーについては、ログインのコールバックハンドラ設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.login.class
Loginインタフェースを実装するクラスの完全修飾名。ブローカーについては、ログイン設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.mechanism
クライアント接続で使われるSASL機構。これはセキュリティプロバイダが利用可能な全ての機構です。GSSAPI がデフォルトの機構です。
Type: 文字列 デフォルト: GSSAPI 有効な値: 重要: medium -
security.protocol
ブローカーと通信するために使われるプロトコル。有効な値は: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL。
Type: 文字列 デフォルト: PLAINTEXT 有効な値: 重要: medium -
send.buffer.bytes
データを送信する時に使われるTCP送信バッファ (SO_SNDBUF)のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 131072 (128 kibibytes) 有効な値: [0,...] 重要: medium -
ssl.enabled.protocols
SSL接続のために有効にされるプロトコルのリスト。デフォルトは、Java 11以降で実行する場合は 'TLSv1.2,TLSv1.3'、それ以外の場合は、'TLSv1.2' です。Java 11 のデフォルト値では、クライアントとサーバはどちらもサポートする場合は TLSv1.3 を優先し、そうでない場合は TLSv1.2 にフォールバックしますjj(両方が少なくと TLSv1.2 をサポートする場合)。このデフォルトはほとんどの場合で十分です。`ssl.protocol` の設定ドキュメントも見てください。
Type: list デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.keystore.type
キーストアファイルのファイル形式。これはクライアントについては任意です。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
ssl.protocol
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' に設定されている場合、ssl.enabled.protocols の値のうちの1つで、サーバが 'TLSv1.3' だけをサポートする場合でも、クライアントは 'TLSv1.3' を使いません。
Type: 文字列 デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.provider
SSL接続のために使われるセキュリティプロバイダの名前。デフォルト値はJVMのデフォルトのセキュリティプロバイダです。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
ssl.truststore.type
トラストストアファイルのファイル形式。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
worker.sync.timeout.ms
ワーカーが他のワーカーとの同期が外れ設定を再同期する必要がある場合、諦め、グループから外れ、再入会する前にバックオフの期間を待つ前に、この時間だけ待ちます。
Type: dint デフォルト: 3000 (3 秒) 有効な値: 重要: medium -
worker.unsync.backoff.ms
ワーカーが他のワーカーとの同期から外れ、worker.sync.timeout.ms の間に追いつくことに失敗した場合、再び加わる前にこの期間だけコネクトクラスタを離れます。
Type: dint デフォルト: 300000 (5 分) 有効な値: 重要: medium -
access.control.allow.methods
Access-Control-Allow-Methods ヘッダで設定されるクロス オリジン リクエストをサポートするためのメソッドを設定します。Access-Control-Allow-Methods ヘッダのデフォルト値は GET, POST および HEAD のためのクロス オリジン リクエストを許可します。
Type: 文字列 デフォルト: "" 有効な値: 重要: low -
access.control.allow.origin
REST APIリクエストのために設定する Access-Control-Allow-Origin ヘッダーの値。クロス オリジン アクセスを有効にするには、これをAPIにアクセスするために許可されなければならないアプリケーションのドメインに設定するか、全てのドメインからのアクセスを許可するために '*' に設定します。デフォルト値はREST APIのドメインからのアクセスのみを許可します。
Type: 文字列 デフォルト: "" 有効な値: 重要: low -
admin.listeners
Admin REST API が listen する URI のカンマ区切りのリスト。サポートされるプロトコルは HTTP と HTTPS です。空または空白の文字列は、この機能を無効にします。デフォルトの動作では、通常の listener ('listeners' プロパティで指定されます)を使います。
Type: list デフォルト: null 有効な値: org.apache.kafka.connect.runtime.WorkerConfig$AdminListenersValidator@7b1d7fff 重要: low -
client.id
リクエストする時にサーバに渡されるid文字列。これの目的は、サーバ側のリクエストのログに論理アプリケーション名を追加することで、ip/portを超えたリクエストのソースの追跡をすることです。
Type: 文字列 デフォルト: "" 有効な値: 重要: low -
config.providers
指定された順番でロードおよびしようされる
ConfigProvider
クラスのカンマ区切りの名前。インタフェースConfigProvider
を実装することで、具体化された秘密鍵のようなコネクタ設定の中の変数参照を置き換えることができます。Type: list デフォルト: "" 有効な値: 重要: low -
config.storage.replication.factor
設定ストレージトピックを生成する時に使われるレプリケーション ファクター
Type: short デフォルト: 3 有効な値: Kafka クラスタ内のブローカーの数以下の正の数、またはブローカーのデフォルトを使う場合は -1。 重要: low -
connect.protocol
Kafkaコネクタ プロトコルの互換モード
Type: 文字列 デフォルト: sessioned 有効な値: [eager, compatible, sessioned] 重要: low -
header.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われるHeaderConverterクラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれるヘッダ値の形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。デフォルトでは SimpleHeaderConverter がヘッダ値を文字列にシリアライズ化するために使われ、スキーマを推測することでそれらをデシリアライズ化します。
Type: クラス デフォルト: org.apache.kafka.connect.storage.SimpleHeaderConverter 有効な値: 重要: low -
inter.worker.key.generation.algorithm
内部リクエストキーを生成するために使うアルゴリズム
Type: 文字列 デフォルト: HmacSHA256 有効な値: ワーカー JVM でサポ―トされる KeyGenerator アルゴリズム 重要: low -
inter.worker.key.size
内部リクエストの署名に使うキーのサイズ(ビット単位)。null の場合、キー生成アルゴリズムのデフォルトのキーサイズが使われます。
Type: dint デフォルト: null 有効な値: 重要: low -
inter.worker.key.ttl.ms
内部リクエストの検証に使われる生成されたセッションキーの TTL (ミリ秒)
Type: dint デフォルト: 3600000 (1 hour) 有効な値: [0,...,2147483647] 重要: low -
inter.worker.signature.algorithm
内部リクエストを署名するために使われるアルゴリズム
Type: 文字列 デフォルト: HmacSHA256 有効な値: ワーカー JVM でサポ―トされる MAC アルゴリズム 重要: low -
inter.worker.verification.algorithms
内部リクエストを検証するための許可されたアルゴリズムのリスト
Type: list デフォルト: HmacSHA256 有効な値: それぞれがワーカー JVM でサポートされる1つ以上の MAC アルゴリズムのリスト 重要: low -
internal.key.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれるキーの形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。この設定は設定やオフセットのようなフレームワークによって使われる内部的な簿記データによって使われる形式を制御します。つまりユーザは一般的にどのような機能のCコンバーターの実装もつかうことができいます。非推奨; もうすぐやってくるバージョンで削除されるでしょう。
Type: クラス デフォルト: org.apache.kafka.connect.json.JsonConverter 有効な値: 重要: low -
internal.value.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれる値の形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。この設定は設定やオフセットのようなフレームワークによって使われる内部的な簿記データによって使われる形式を制御します。つまりユーザは一般的にどのような機能のCコンバーターの実装もつかうことができいます。非推奨; もうすぐやってくるバージョンで削除されるでしょう。
Type: クラス デフォルト: org.apache.kafka.connect.json.JsonConverter 有効な値: 重要: low -
リスナー
REST APIがlistenするURIのカンマ区切りのリスト。サポートされるプロトコルは、HTTP と HTTPS です。
全てのインタフェースにバインドするには、0.0.0.0 としてホスト名を指定してください。
デフォルトのインタフェースにバインドするには、ホスト名を空にします。
合法なlistenerのリストの例: HTTP://myhost:8083,HTTPS://myhost:8084Type: list デフォルト: null 有効な値: 重要: low -
metadata.max.age.ms
パーティションのリーダーシップが新しいブローカーあるいはパーティションを前もって見つけるために変更されたのを見ていないとしても、メタデータのリフレッシュを強制するミリ秒単位の時間。
Type: long デフォルト: 300000 (5 分) 有効な値: [0,...] 重要: low -
metric.reporters
メトリクス レポーターとして使われるクラスのリスト。
org.apache.kafka.common.metrics.MetricsReporter
インタフェースの実装により、新しいメトリックの生成を知らせるクラスをプラグインすることができます。JMX統計を登録するために常に JmxReporter が含まれます。Type: list デフォルト: "" 有効な値: 重要: low -
metrics.num.samples
メトリクスを計算するために保持される標本の数。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: low -
metrics.recording.level
メトリクスのための最も高い記録レベル。
Type: 文字列 デフォルト: INFO 有効な値: [INFO, DEBUG] 重要: low -
metrics.sample.window.ms
メトリクスの標本が計算されるための時間の窓。
Type: long デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: low -
offset.flush.interval.ms
タスクのためのオフセットのコミットを試す間隔。
Type: long デフォルト: 60000 (1 分) 有効な値: 重要: low -
offset.flush.timeout.ms
将来の試行でオフセットデータが処理され回復される前に、レコードがフラッシュされパーティションのオフセットデータがオフセットストレージにコミットされる最大のミリ秒数。
Type: long デフォルト: 5000 (5 秒) 有効な値: 重要: low -
offset.storage.partitions
オフセット ストレージ トピックを生成する時に使われるパーティションの数
Type: dint デフォルト: 25 有効な値: 正の数、またはブローカーのデフォルトを使う場合は -1 重要: low -
offset.storage.replication.factor
オフセットストレージトピックを生成する時に使われるリプリケーション ファクター
Type: short デフォルト: 3 有効な値: Kafka クラスタ内のブローカーの数以下の正の数、またはブローカーのデフォルトを使う場合は -1。 重要: low -
plugin.path
プラグイン (コネクタ、コンバータ、トランスフォーメーション)を含む、カンマ(,) で区切られたパスのリスト。リストは次の組み合わせを含む最上位のディレクトリで構成する必要があります:
a) プラグインとそれらの依存関係を持つ jar を直下に含むディレクトリ
b) プラグインとその依存関係を持つ uber-jars
c) プラグインのクラスのパッケージディレクトリ構造とそれらの依存関係を直下に含むディレクトリ
注意: 依存関係またはプラグインを検出するために、シンボリックリンクをたどります。
例: plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors
生のパスは構成プロバイダが初期化されて変数を置き換えるために使われる前にワーカーのスキャナに使われるため、このプロパティには構成プロバイダ変数を使わないでください。Type: list デフォルト: null 有効な値: 重要: low -
reconnect.backoff.max.ms
接続が繰り返し失敗するブローカーへの再接続時に待つミリ秒単位の総最大時間。指定された場合、ホスト毎のバックオフはそれぞれの連続する失敗ごとにこの最大まで指数関数的に増加するでしょう。バックオフの計算を増加した後で、接続の嵐を避けるために20%のランダムなジッターが追加されます。
Type: long デフォルト: 1000 (1 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.ms
指定されたホストに再接続しようとするまで待機する基本的な総時間。これにより短いループ内でホストに繰り返し接続することを防ぎます。このbackoffはクライアントによってブローカーに送信される全ての接続に適用されます。
Type: long デフォルト: 50 有効な値: [0,...] 重要: low -
response.http.headers.config
REST API HTTP 応答ヘッダのルール
Type: 文字列 デフォルト: "" 有効な値: カンマ区切りのヘッダルール。各ヘッダルールの形式は '[action] [header name]:[header value]' で、ヘッダルールがいずれかの部分にカンマを含む場合は、おp;うションでダブルクォートで囲みます 重要: low -
rest.advertised.host.name
これが設定されている場合は、これは他のワーカーが接続するように渡されるだろうホスト名です。
Type: 文字列 デフォルト: null 有効な値: 重要: low -
rest.advertised.listener
他のワーカーに使うように渡される通知されたlistener(HTTPあるいはHTTPS)を設定する。
Type: 文字列 デフォルト: null 有効な値: 重要: low -
rest.advertised.port
これが設定されている場合は、これは他のワーカーが接続するように渡されるだろうポートです。
Type: dint デフォルト: null 有効な値: 重要: low -
rest.extension.classes
指定された順番でロードおよび呼び出される
ConnectRestExtension
クラスのカンマ区切りの名前。インタフェースConnectRestExtension
を実装することで、フィルタのようなユーザ定義のリソースをコネクタのREST APIに差し込むことができます。一般的にログ、セキュリティなどのような独自の機能を追加するために使われます。Type: list デフォルト: "" 有効な値: 重要: low -
rest.host.name
REST APIのためのホスト名。設定されている場合は、このインタフェースにのみバインドするでしょう。
Type: 文字列 デフォルト: null 有効な値: 重要: low -
rest.port
REST APIがlistenするポート。
Type: dint デフォルト: 8083 有効な値: 重要: low -
retry.backoff.ms
指定されたトピックパーティションへの失敗したリクエストを再試行しようとするまで待機する総時間。これにより短いループ内で幾つかの失敗のシナリオがある場合に繰り返しリクエストすることを防ぎます。
Type: long デフォルト: 100 有効な値: [0,...] 重要: low -
sasl.kerberos.kinit.cmd
Kerberos kinit コマンドライン パス。
Type: 文字列 デフォルト: /usr/bin/kinit 有効な値: 重要: low -
sasl.kerberos.min.time.before.relogin
リフレッシュ試行間のログインスレッドのスリープ時間。
Type: long デフォルト: 60000 有効な値: 重要: low -
sasl.kerberos.ticket.renew.jitter
更新時間に追加されるランダムなジッターのパーセンテージ。
Type: double デフォルト: 0.05 有効な値: 重要: low -
sasl.kerberos.ticket.renew.window.factor
最後にリフレッシュされてからチケットの期限切れまでの時間が指定されたウィンドウ要素になるまで、ログインスレッドはスリープします。そしてその時間にチケットを更新しようとするでしょう。
Type: double デフォルト: 0.8 有効な値: 重要: low -
sasl.login.refresh.buffer.seconds
証明書をリフレッシュする時に証明書の有効期限を維持するバッファ時間の秒数。そうでなければ、バッファの秒数よりも有効期限の近くで更新が発生する場合、可能な限り多くのバッファ時間を維持するために、更新が上に移動されます。有効な値は0から3600(1時間); 値が指定されない場合はデフォルトの値 300 (5分)が使われます。この値と sasl.login.refresh.min.period.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 300 有効な値: [0,...,3600] 重要: low -
sasl.login.refresh.min.period.seconds
証明書をリフレッシュする前にログイン フレッシュ スレッドが待つ望ましい最小の時間の秒数。有効な値は0から900 (15分); 値が指定されない場合はデフォルトの値60(1分)が使われます。この値と sasl.login.refresh.buffer.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 60 有効な値: [0,...,900] 重要: low -
sasl.login.refresh.window.factor
ログイン フレッシュ スレッドは、証明書の生存期間に関連した指定されたウィンドウ ファクタに達するまでスリープしようとします。その時点で証明書をリフレッシュしようとするでしょう。有効な値は0.5 (50%)以上と1.0 (100%)以下の間です; 値が指定されない場合はデフォルトの値 0.8 (80%)が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.8 有効な値: [0.5,...,1.0] 重要: low -
sasl.login.refresh.window.jitter
ログイン スレッドのスリープ時間に追加された証明書の生存期間に対するランダム ジッタの最大量。有効な値は 0以上と0.25 (25%)以下の間です; 値が指定されない場合はデフォルトの値 0.05 (5%) が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.05 有効な値: [0.0,...,0.25] 重要: low -
scheduled.rebalance.max.delay.ms
The maximum delay that is scheduled in order to wait for the return of one or more departed workers before rebalancing and reassigning their connectors and tasks to the group. During this period the connectors and tasks of the departed workers remain unassigned
Type: dint デフォルト: 300000 (5 分) 有効な値: [0,...,2147483647] 重要: low -
socket.connection.setup.timeout.max.ms
The maximum amount of time the client will wait for the socket connection to be established. The connection setup timeout will increase exponentially for each consecutive connection failure up to this maximum. To avoid connection storms, a randomization factor of 0.2 will be applied to the timeout resulting in a random range between 20% below and 20% above the computed value.
Type: long デフォルト: 127000 (127 seconds) 有効な値: [0,...] 重要: low -
socket.connection.setup.timeout.ms
The amount of time the client will wait for the socket connection to be established. If the connection is not built before the timeout elapses, clients will close the socket channel.
Type: long デフォルト: 10000 (10 秒) 有効な値: [0,...] 重要: low -
ssl.cipher.suites
cipher スイーツのリストこれはTLSあるいはSSLネットワークプロトコルを使うネットワーク接続のためのセキュリティ設定を取り決めるために使われる、認証、暗号化、MACおよびキー交換アルゴリズムの名前の組み合わせです。デフォルトでは全ての利用可能なcipherスイーツがサポートされます。
Type: list デフォルト: null 有効な値: 重要: low -
ssl.client.auth
クライアント認証をリクエストするためのKafkaブローカーを設定します。以下の設定が一般的です:
ssl.client.auth=required
required に設定された場合、クライアント認証が必要です。ssl.client.auth=requested
これはクライアント認証が任意であることを意味します。unlike required, if this option is set client can choose not to provide authentication information about itselfssl.client.auth=none
これはクライアント認証が必要では無いことを意味します。
Type: 文字列 デフォルト: none 有効な値: 重要: low -
ssl.endpoint.identification.algorithm
サーバの証明書を使ってサーバのホスト名を検証するためのエンドポイント識別アルゴリズム。
Type: 文字列 デフォルト: https 有効な値: 重要: low -
ssl.engine.factory.class
SSLEngine オブジェクトを提供するための org.apache.kafka.common.security.auth.SslEngineFactory 型のクラス。デフォルト値は、org.apache.kafka.common.security.ssl.DefaultSslEngineFactory です
Type: クラス デフォルト: null 有効な値: 重要: low -
ssl.keymanager.algorithm
SSL接続のためにキーマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されたキーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: SunX509 有効な値: 重要: low -
ssl.secure.random.implementation
SSL暗号化操作のために使われる SecureRandom PRNG 実装。
Type: 文字列 デフォルト: null 有効な値: 重要: low -
ssl.trustmanager.algorithm
SSL接続のためにトラストマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されトラストーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: PKIX 有効な値: 重要: low -
status.storage.partitions
ステータス ストレージ トピックを生成する時に使われるパーティションの数
Type: dint デフォルト: 5 有効な値: 正の数、またはブローカーのデフォルトを使う場合は -1 重要: low -
status.storage.replication.factor
ステータスストレージトピックを生成する時に使われるリプリケーション ファクター
Type: short デフォルト: 3 有効な値: Kafka クラスタ内のブローカーの数以下の正の数、またはブローカーのデフォルトを使う場合は -1。 重要: low -
task.shutdown.graceful.timeout.ms
タスクがgrecefullyにシャットダウンするために待つ時間。これはタスクごとではない総時間です。全てのタスクはシャットダウンを引き起こされ、それからそれらは順番に待ちます。
Type: long デフォルト: 5000 (5 秒) 有効な値: 重要: low -
topic.creation.enable
ソースコネクタが `topic.creation.` プロパティで設定されている場合に、ソースコネクタが使うトピックの自動生成を許可するかどうか。各タスクは、管理クライアントを使ってトピックを作成し、自動的にトピックを作成するために Kafka ブローカーに依存しません。
Type: boolean デフォルト: true 有効な値: 重要: low -
topic.tracking.allow.reset
true に設定された場合、ユーザリクエストはコネクタごとの一連のアクティブなトピックを再設定することができます。
Type: boolean デフォルト: true 有効な値: 重要: low -
topic.tracking.enable
実行時にコネクタごとの一連のアクティブなトピックを追跡できるようにします。
Type: boolean デフォルト: true 有効な値: 重要: low
3.5.1ソース コネクタの設定
以下はソース コネクタの設定です。-
名前
このコネクタに使用するグローバルに一意の名前。
Type: 文字列 デフォルト: 有効な値: ISO制御文字ではない空では無い文字列。 重要: high -
connector.class
このコネクタのための名前あるいはエイリアス。org.apache.kafka.connect.connector.Connector のサブクラスでなければなりません。もしコネクタが org.apache.kafka.connect.file.FileStreamSinkConnector なら、この完全な名前を指定するか、設定を少し短くするために"FileStreamSink"または"FileStreamSinkConnector"のどちらかを使うことができます。
Type: 文字列 デフォルト: 有効な値: 重要: high -
tasks.max
このコネクタに使用するタスクの最大数。
Type: dint デフォルト: 1 有効な値: [1,...] 重要: high -
key.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれるキーの形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。
Type: クラス デフォルト: null 有効な値: 重要: low -
value.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれる値の形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。
Type: クラス デフォルト: null 有効な値: 重要: low -
header.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われるHeaderConverterクラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれるヘッダ値の形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。デフォルトでは SimpleHeaderConverter がヘッダ値を文字列にシリアライズ化するために使われ、スキーマを推測することでそれらをデシリアライズ化します。
Type: クラス デフォルト: null 有効な値: 重要: low -
config.action.reload
外部設定プロバイダの変更によりコネクタの設定プロパティが変更された場合に、コネクタがコネクタに対して行うアクション。 'none' の値はコネクタが何もしないことを意味します。'restart' の値はコネクタが更新された設定プロパティでコネクタを再起動/リロードする必要があることを示します。外部構成プロバイダが設定値が将来期限切れになることを示す場合、再起動は実際には将来にスケジュールされる可能性があります。
Type: 文字列 デフォルト: restart 有効な値: [none, restart] 重要: low -
transforms
レコードに適用される変換のエイリアス。
Type: list デフォルト: "" 有効な値: nullではない文字列。一意の変換エイリアス。 重要: low -
predicates
変換によって使われる述語のエイリアス。
Type: list デフォルト: "" 有効な値: 非 null 文字列、ユニークな述語のエイリアス 重要: low -
errors.retry.timeout
失敗した操作が再び試行される最大所要期間のミリ秒。デフォルトは 0 で、再試行が試みられないことを意味します。無限回の再試行には -1 を使ってください。
Type: long デフォルト: 0 有効な値: 重要: medium -
errors.retry.delay.max.ms
連続する再試行間の最大所要期間のミリ秒数。この制限に達すると、Thundering Herd 問題を避けるために、遅延にジッターが追加されます。
Type: long デフォルト: 60000 (1 分) 有効な値: 重要: medium -
errors.tolerance
コネクタ操作中のエラーを許容するための挙動。'none' がデフォルト値で、エラーがあるとすぐにコネクタのタスクが失敗することを示します; 'all' は問題のあるレコードをスキップするように挙動を変更します。
Type: 文字列 デフォルト: none 有効な値: [none, all] 重要: medium -
errors.log.enable
true の場合、各エラーと失敗した操作の詳細と問題のあるレコードをコネクタのアプリケーション ログに書き込みます。デフォルトではこれは 'false' です。つまり耐えられないエラーのみが報告されます。
Type: boolean デフォルト: false 有効な値: 重要: medium -
errors.log.include.messages
エラーになったコネクタのレコードをログに含めるかどうか。これはデフォルトでは 'false' で、レコード キー、値、ヘッダがログファイルに書き込まれないようにしますが、トピックおよびパーティション番号のような一部の情報は引き続き記録されます。
Type: boolean デフォルト: false 有効な値: 重要: medium -
topic.creation.groups
ソースコネクタによって作成されるトピック用の設定グループ
Type: list デフォルト: "" 有効な値: 非 null 文字列、ユニークなトピックの作成グループ 重要: low
3.5.2シンク コネクタの設定
以下はシンク コネクタの設定です。-
名前
このコネクタに使用するグローバルに一意の名前。
Type: 文字列 デフォルト: 有効な値: ISO制御文字ではない空では無い文字列。 重要: high -
connector.class
このコネクタのための名前あるいはエイリアス。org.apache.kafka.connect.connector.Connector のサブクラスでなければなりません。もしコネクタが org.apache.kafka.connect.file.FileStreamSinkConnector なら、この完全な名前を指定するか、設定を少し短くするために"FileStreamSink"または"FileStreamSinkConnector"のどちらかを使うことができます。
Type: 文字列 デフォルト: 有効な値: 重要: high -
tasks.max
このコネクタに使用するタスクの最大数。
Type: dint デフォルト: 1 有効な値: [1,...] 重要: high -
topics
カンマ区切りの、消費するトピックのリスト。
Type: list デフォルト: "" 有効な値: 重要: high -
topics.regex
消費するように指定されたトピックの正規表現。背後では、正規表現は
java.util.regex.Pattern
にコンパイルされます。1つのトピックあるいは topics.regex が指定されなければなりません。Type: 文字列 デフォルト: "" 有効な値: 有効な正規表現 重要: high -
key.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれるキーの形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。
Type: クラス デフォルト: null 有効な値: 重要: low -
value.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われる変換クラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれる値の形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。
Type: クラス デフォルト: null 有効な値: 重要: low -
header.converter
Kafkaコネクタ形式とKafkaに書き込まれたシリアライズ化された形式との間で変換するために使われるHeaderConverterクラス。これはKafkaに書き込まれる、あるいはKafkaから読み込まれるヘッダ値の形式を制御します。これはコネクタから独立しているため、どのようなコネクタもどのようなシリアライズ化形式とも連携することができます。JSONとAvroを含む一般的な形式の例。デフォルトでは SimpleHeaderConverter がヘッダ値を文字列にシリアライズ化するために使われ、スキーマを推測することでそれらをデシリアライズ化します。
Type: クラス デフォルト: null 有効な値: 重要: low -
config.action.reload
外部設定プロバイダの変更によりコネクタの設定プロパティが変更された場合に、コネクタがコネクタに対して行うアクション。 'none' の値はコネクタが何もしないことを意味します。'restart' の値はコネクタが更新された設定プロパティでコネクタを再起動/リロードする必要があることを示します。外部構成プロバイダが設定値が将来期限切れになることを示す場合、再起動は実際には将来にスケジュールされる可能性があります。
Type: 文字列 デフォルト: restart 有効な値: [none, restart] 重要: low -
transforms
レコードに適用される変換のエイリアス。
Type: list デフォルト: "" 有効な値: nullではない文字列。一意の変換エイリアス。 重要: low -
predicates
変換によって使われる述語のエイリアス。
Type: list デフォルト: "" 有効な値: 非 null 文字列、ユニークな述語のエイリアス 重要: low -
errors.retry.timeout
失敗した操作が再び試行される最大所要期間のミリ秒。デフォルトは 0 で、再試行が試みられないことを意味します。無限回の再試行には -1 を使ってください。
Type: long デフォルト: 0 有効な値: 重要: medium -
errors.retry.delay.max.ms
連続する再試行間の最大所要期間のミリ秒数。この制限に達すると、Thundering Herd 問題を避けるために、遅延にジッターが追加されます。
Type: long デフォルト: 60000 (1 分) 有効な値: 重要: medium -
errors.tolerance
コネクタ操作中のエラーを許容するための挙動。'none' がデフォルト値で、エラーがあるとすぐにコネクタのタスクが失敗することを示します; 'all' は問題のあるレコードをスキップするように挙動を変更します。
Type: 文字列 デフォルト: none 有効な値: [none, all] 重要: medium -
errors.log.enable
true の場合、各エラーと失敗した操作の詳細と問題のあるレコードをコネクタのアプリケーション ログに書き込みます。デフォルトではこれは 'false' です。つまり耐えられないエラーのみが報告されます。
Type: boolean デフォルト: false 有効な値: 重要: medium -
errors.log.include.messages
エラーになったコネクタのレコードをログに含めるかどうか。これはデフォルトでは 'false' で、レコード キー、値、ヘッダがログファイルに書き込まれないようにしますが、トピックおよびパーティション番号のような一部の情報は引き続き記録されます。
Type: boolean デフォルト: false 有効な値: 重要: medium -
errors.deadletterqueue.topic.name
このシンク コネクタあるいはその変換あるいはコンバータによって処理された時にエラーになるメッセージのdead letter queue (DLQ) として使われるトピックの名前。トピック名はデフォルトでは空白です。これはDLQにメッセージが記録されないことを意味します。
Type: 文字列 デフォルト: "" 有効な値: 重要: medium -
errors.deadletterqueue.topic.replication.factor
dead letter queue トピックがまだ存在しない時に作成するために使われるリプリケーション係数。
Type: short デフォルト: 3 有効な値: 重要: medium -
errors.deadletterqueue.context.headers.enable
true の場合、dead letter queue に書かれたメッセージにエラー内容を含むヘッダを追加します。元のレコードのヘッダ、全てのエラーコンテキストヘッダキーとの競合を回避するために、全てのエラーコンテキストヘッダキーは
__connect.errors.
から始まります。Type: boolean デフォルト: false 有効な値: 重要: medium
3.6Kafka ストリーム設定
以下はKafkaストリームのクライアントライブラリの設定です。-
application.id
ストリーム処理アプリケーションのための識別子。Kafkaクラスタ内でユニークでなければなりません。1) デフォルトのクライアントidのプリフィックス、2) メンバーシップ管理のためのグループid、3) changelogのトピックのプリフィックス。
Type: 文字列 デフォルト: 有効な値: 重要: high -
bootstrap.servers
Kafkaクラスタへの初期の接続を確立するために使うホスト/ポートのペアのリスト。クライアントはブートストラッピングのためにここでどのサーバが指定されたかに関わらず全てのサーバを利用するでしょう — このリストはサーバの完全なセットを見つけるために使われる初期のホストにのみ影響を与えます。このリストは
host1:port1,host2:port2,...
の形式でなければなりません。これらのサーバは完全なクラスタの会員(動的に変わるかも知れません)を見つけるための初期接続に使われるため、このリストはサーバの完全なセットを含む必要はありません (しかし、サーバがダウンした場合のために1つ以上が望まれるかも知れません)。Type: list デフォルト: 有効な値: 重要: high -
replication.factor
ストリーム処理アプリケーションによって生成されるログトピックとリパーティショントピックの変更のためのリプリケーション要素。
Type: dint デフォルト: 1 有効な値: 重要: high -
state.dir
状態の格納のためのディレクトリの場所。このパスは同じ基礎となるファイルシステムを供する各ストリームインスタンスに対してユニークでなければなりません。
Type: 文字列 デフォルト: /tmp/kafka-streams 有効な値: 重要: high -
acceptable.recovery.lag
クライアントがアクティブなタスクに追いついたと見なされる、最大許容ラグ(追いつくオフセットの数)。特定のワークロードの1分未満の復旧時間に対応する必要があります。少なくとも0でなければなりません。
Type: long デフォルト: 10000 有効な値: [0,...] 重要: medium -
cache.max.bytes.buffering
全てのスレッドを横断してバッファするために使われるメモリの最大バイト数
Type: long デフォルト: 10485760 有効な値: [0,...] 重要: medium -
client.id
内部コンシューマ、プロデューサおよびレストア-コンシューマのクライアントidのために使われる、'
-StreamThread- - ' のパターンを持つIDプリフィックス文字列。 Type: 文字列 デフォルト: "" 有効な値: 重要: medium -
default.deserialization.exception.handler
org.apache.kafka.streams.errors.DeserializationExceptionHandler
インタフェースを実装する例外処理クラス。Type: クラス デフォルト: org.apache.kafka.streams.errors.LogAndFailExceptionHandler 有効な値: 重要: medium -
default.key.serde
org.apache.kafka.common.serialization.Serde
インタフェースを実装するキーのための デフォルトの Serializer / deserializerクラス。windowed serdeクラスを使う場合、'default.windowed.key.serde.inner' あるいは 'default.windowed.value.serde.inner' を使ってorg.apache.kafka.common.serialization.Serde
インタフェースを実装する内部serderクラスを設定する必要があることに注意してください。Type: クラス デフォルト: org.apache.kafka.common.serialization.Serdes$ByteArraySerde 有効な値: 重要: medium -
default.production.exception.handler
org.apache.kafka.streams.errors.ProductionExceptionHandler
インタフェースを実装する例外処理クラス。Type: クラス デフォルト: org.apache.kafka.streams.errors.DefaultProductionExceptionHandler 有効な値: 重要: medium -
default.timestamp.extractor
org.apache.kafka.streams.processor.TimestampExtractor
インタフェースを実装するデフォルトのタイムスタンプ抽出クラス。Type: クラス デフォルト: org.apache.kafka.streams.processor.FailOnInvalidTimestamp 有効な値: 重要: medium -
default.value.serde
org.apache.kafka.common.serialization.Serde
インタフェースを実装する値のための デフォルトの Serializer / deserializerクラス。windowed serdeクラスを使う場合、'default.windowed.key.serde.inner' あるいは 'default.windowed.value.serde.inner' を使ってorg.apache.kafka.common.serialization.Serde
インタフェースを実装する内部serderクラスを設定する必要があることに注意してください。Type: クラス デフォルト: org.apache.kafka.common.serialization.Serdes$ByteArraySerde 有効な値: 重要: medium -
default.windowed.key.serde.inner
Default serializer / deserializer for the inner class of a windowed key. Must implement the
org.apache.kafka.common.serialization.Serde
interface.Type: クラス デフォルト: null 有効な値: 重要: medium -
default.windowed.value.serde.inner
Default serializer / deserializer for the inner class of a windowed value. Must implement the
org.apache.kafka.common.serialization.Serde
interface.Type: クラス デフォルト: null 有効な値: 重要: medium -
max.task.idle.ms
Maximum amount of time in milliseconds a stream task will stay idle when not all of its partition buffers contain records, to avoid potential out-of-order record processing across multiple input streams.
Type: long デフォルト: 0 有効な値: 重要: medium -
max.warmup.replicas
再割り当てされた別のインスタンスでウォームアップしている間、あるインスタンスでタスクを利用できるようにする目的で一度に割り当てることができるウォームアップレプリカ(構成された num.standbys を超える追加のスタンドバイ)の最大数。高可用性のために使うことができる追加のブローカトラフィックとクラスタデータ状態の量を調整するために使われます。少なくとも1でなければなりません。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: medium -
num.standby.replicas
各タスクのためのスタンドバイ レプリカの数。
Type: dint デフォルト: 0 有効な値: 重要: medium -
num.stream.threads
ストリーム処理を実行するためのスレッドの数。
Type: dint デフォルト: 1 有効な値: 重要: medium -
processing.guarantee
使われるべき処理の保証。可能な値は、
at_least_once
(デフォルト)、exactly_once
(requires brokers version 0.11.0 or higher)、exactly_once_beta
(ブローカバージョン 2.5 以降が必要)。確実に1回の処理はデフォルトでプロダクションのための設定に推奨される少なくとも3つのブローカーのクラスタを必要とすることに注意してください; 開発のためにブローカーの設定transaction.state.log.replication.factor
とtransaction.state.log.min.isr
を調整することでこれを変更することができます。Type: 文字列 デフォルト: at_least_once 有効な値: [at_least_once, exactly_once, exactly_once_beta] 重要: medium -
security.protocol
ブローカーと通信するために使われるプロトコル。有効な値は: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL。
Type: 文字列 デフォルト: PLAINTEXT 有効な値: 重要: medium -
task.timeout.ms
The maximum amount of time in milliseconds a task might stall due to internal errors and retries until an error is raised. For a timeout of 0ms, a task would raise an error for the first internal error. For any timeout larger than 0ms, a task will retry at least once before an error is raised.
Type: long デフォルト: 300000 (5 分) 有効な値: [0,...] 重要: medium -
topology.optimization
トポロジを最適化する必要があるかどうかをKafkaストリームに伝える設定。デフォルトでは無効
Type: 文字列 デフォルト: none 有効な値: [none, all] 重要: medium -
application.server
この KafkaStream インスタンスの状態ストアの検出とインタラクティブなクエリに使うことができるユーザ定義のエンドポイントを指す ホスト:ポート ペア。
Type: 文字列 デフォルト: "" 有効な値: 重要: low -
buffered.records.per.partition
パーティションごとのバッファのためのレコードの最大数。
Type: dint デフォルト: 1000 有効な値: 重要: low -
built.in.metrics.version
使用する組み込みメトリックスのバージョン。
Type: 文字列 デフォルト: latest 有効な値: [0.10.0-2.4, latest] 重要: low -
commit.interval.ms
The frequency in milliseconds with which to save the position of the processor. (注意、もし
processing.guarantee
がexactly_once
に設定された場合、デフォルトは100
、そうでなければデフォルト値は30000
です。Type: long デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: low -
connections.max.idle.ms
この設定によって指定されるミリ秒後にアイドルの接続を閉じます。
Type: long デフォルト: 540000 (9 分) 有効な値: 重要: low -
metadata.max.age.ms
パーティションのリーダーシップが新しいブローカーあるいはパーティションを前もって見つけるために変更されたのを見ていないとしても、メタデータのリフレッシュを強制するミリ秒単位の時間。
Type: long デフォルト: 300000 (5 分) 有効な値: [0,...] 重要: low -
metric.reporters
メトリクス レポーターとして使われるクラスのリスト。
org.apache.kafka.common.metrics.MetricsReporter
インタフェースの実装により、新しいメトリックの生成を知らせるクラスをプラグインすることができます。JMX統計を登録するために常に JmxReporter が含まれます。Type: list デフォルト: "" 有効な値: 重要: low -
metrics.num.samples
メトリクスを計算するために保持される標本の数。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: low -
metrics.recording.level
メトリクスのための最も高い記録レベル。
Type: 文字列 デフォルト: INFO 有効な値: [INFO, DEBUG, TRACE] 重要: low -
metrics.sample.window.ms
メトリクスの標本が計算されるための時間の窓。
Type: long デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: low -
partition.grouper
org.apache.kafka.streams.processor.PartitionGrouper
インタフェースを実装するパーティショングループクラス。警告: この構成は非推奨で、3.0.0 リリースで削除されます。Type: クラス デフォルト: org.apache.kafka.streams.processor.DefaultPartitionGrouper 有効な値: 重要: low -
poll.ms
入力を待つブロックの総時間のミリ秒数。
Type: long デフォルト: 100 有効な値: 重要: low -
probing.rebalance.interval.ms
The maximum time in milliseconds to wait before triggering a rebalance to probe for warmup replicas that have finished warming up and are ready to become active. 割り当てのバランスが取れるまで、走査リバランスが引き起こされ続けます。1分以上にする必要があります。
Type: long デフォルト: 600000 (10 分) 有効な値: [60000,...] 重要: low -
receive.buffer.bytes
データを読み込む時に使われるTCPレシーバーバッファ (SO_RCVBUF) のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 32768 (32 kibibytes) 有効な値: [-1,...] 重要: low -
reconnect.backoff.max.ms
接続が繰り返し失敗するブローカーへの再接続時に待つミリ秒単位の総最大時間。指定された場合、ホスト毎のバックオフはそれぞれの連続する失敗ごとにこの最大まで指数関数的に増加するでしょう。バックオフの計算を増加した後で、接続の嵐を避けるために20%のランダムなジッターが追加されます。
Type: long デフォルト: 1000 (1 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.ms
指定されたホストに再接続しようとするまで待機する基本的な総時間。これにより短いループ内でホストに繰り返し接続することを防ぎます。このbackoffはクライアントによってブローカーに送信される全ての接続に適用されます。
Type: long デフォルト: 50 有効な値: [0,...] 重要: low -
request.timeout.ms
この設定はクライアントがリクエストの応答を待つ総時間の最大を制御します。タイムアウトの時間が経過する前に応答が受信されない場合は、必要であればクライアントはリクエストを再送信するでしょう。あるいは再試行が使い尽くされた場合は失敗するでしょう。
Type: dint デフォルト: 40000 (40 seconds) 有効な値: [0,...] 重要: low -
retries
0より大きい値を設定すると、クライアントは一時的なエラーによって失敗した全てのリクエストを再送信するでしょう。It is recommended to set the value to either zero or `MAX_VALUE` and use corresponding timeout parameters to control how long a client should retry a request.
Type: dint デフォルト: 0 有効な値: [0,...,2147483647] 重要: low -
retry.backoff.ms
指定されたトピックパーティションへの失敗したリクエストを再試行しようとするまで待機する総時間。これにより短いループ内で幾つかの失敗のシナリオがある場合に繰り返しリクエストすることを防ぎます。
Type: long デフォルト: 100 有効な値: [0,...] 重要: low -
rocksdb.config.setter
Rocks DB 設定セッタークラス、あるいは
org.apache.kafka.streams.state.RocksDBConfigSetter
インタフェースを実装するクラス名Type: クラス デフォルト: null 有効な値: 重要: low -
send.buffer.bytes
データを送信する時に使われるTCP送信バッファ (SO_SNDBUF)のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 131072 (128 kibibytes) 有効な値: [-1,...] 重要: low -
state.cleanup.delay.ms
パーティションが移行された時の状態を削除する前に待つ総時間のミリ秒数。少なくとも
state.cleanup.delay.ms
の間修正されていないステート ディレクトリだけが削除されるでしょう。Type: long デフォルト: 600000 (10 分) 有効な値: 重要: low -
upgrade.from
下位互換性のある方法でアップグレードできます。これは、[0.10.0, 1.1] から 2.0+、あるいは [2.0, 2.3] から 2.4+ にアップグレードする時に必要です。2.4 から新しいバージョンにアップグレードする時に、この構成を指定する必要はありません。デフォルトは `null` です。受け付けられる値は "0.10.0", "0.10.1", "0.10.2", "0.11.0", "1.0", "1.1", "2.0", "2.1", "2.2", "2.3" (対応する古いバージョンからのアップグレード)
Type: 文字列 デフォルト: null 有効な値: [null, 0.10.0, 0.10.1, 0.10.2, 0.11.0, 1.0, 1.1, 2.0, 2.1, 2.2, 2.3] 重要: low -
windowstore.changelog.additional.retention.ms
データがlogから早まって削除されないことを保証するために、ウィンドウのmaintainMSに追加されます。クロックのズレの許容デフォルトは1日です
Type: long デフォルト: 86400000 (1 日) 有効な値: 重要: low
3.7 Admin Configs
以下はKafka Admin クライアント ライブラリの設定です。-
bootstrap.servers
Kafkaクラスタへの初期の接続を確立するために使うホスト/ポートのペアのリスト。クライアントはブートストラッピングのためにここでどのサーバが指定されたかに関わらず全てのサーバを利用するでしょう — このリストはサーバの完全なセットを見つけるために使われる初期のホストにのみ影響を与えます。このリストは
host1:port1,host2:port2,...
の形式でなければなりません。これらのサーバは完全なクラスタの会員(動的に変わるかも知れません)を見つけるための初期接続に使われるため、このリストはサーバの完全なセットを含む必要はありません (しかし、サーバがダウンした場合のために1つ以上が望まれるかも知れません)。Type: list デフォルト: 有効な値: 重要: high -
ssl.key.password
The password of the private key in the key store file orthe PEM key specified in `ssl.keystore.key'. This is required for clients only if two-way authentication is configured.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.certificate.chain
Certificate chain in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with a list of X.509 certificates
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.key
Private key in the format specified by 'ssl.keystore.type'. Default SSL engine factory supports only PEM format with PKCS#8 keys. If the key is encrypted, key password must be specified using 'ssl.key.password'
Type: password デフォルト: null 有効な値: 重要: high -
ssl.keystore.location
キーストアーファイルの場所。これはクライアントについては任意で、クライアントのための相互認証のために使うことができます。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.keystore.password
キーストアーファイルのためのストアパスワード。This is optional for client and only needed if 'ssl.keystore.location' is configured. Key store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.certificates
Trusted certificates in the format specified by 'ssl.truststore.type'. Default SSL engine factory supports only PEM format with X.509 certificates.
Type: password デフォルト: null 有効な値: 重要: high -
ssl.truststore.location
トラストストアーファイルの場所。
Type: 文字列 デフォルト: null 有効な値: 重要: high -
ssl.truststore.password
トラストストアーファイルのパスワード。If a password is not set, trust store file configured will still be used, but integrity checking is disabled. Trust store password is not supported for PEM format.
Type: password デフォルト: null 有効な値: 重要: high -
client.dns.lookup
クライアントがどのようにDNSルックアップを使うかを制御します。
use_all_dns_ips
に設定された場合、正常な接続が確立されるまで、返された各 IP アドレスに順番に接続します。切断後に、次の IP が使われます。全ての IP が一度使われると、クライアントはホスト名から IP を再度解決します (ただし、JVM と OS の両方が DNS 名のルックアップをキャッシュします)。resolve_canonical_bootstrap_servers_only
に設定されると、各ブートストラップアドレスを正規の名前のリストに解決します。ブートストラップの段階の後で、これはuse_all_dns_ips
と同じように動作します。default
(非推奨)に設定されると、ルックアップが複数の IP アドレスを返す場合でも、ルックアップで返された最初の IP アドレスに接続しようとします。Type: 文字列 デフォルト: use_all_dns_ips 有効な値: [default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only] 重要: medium -
client.id
リクエストする時にサーバに渡されるid文字列。これの目的は、サーバ側のリクエストのログに論理アプリケーション名を追加することで、ip/portを超えたリクエストのソースの追跡をすることです。
Type: 文字列 デフォルト: "" 有効な値: 重要: medium -
connections.max.idle.ms
この設定によって指定されるミリ秒後にアイドルの接続を閉じます。
Type: long デフォルト: 300000 (5 分) 有効な値: 重要: medium -
default.api.timeout.ms
クライアント API のタイムアウト (ミリ秒)を指定します。この設定は
timeout
パラメータを指定しない、全てのクライアント操作のデフォルトのタイムアウトとして使われます。Type: dint デフォルト: 60000 (1 分) 有効な値: [0,...] 重要: medium -
receive.buffer.bytes
データを読み込む時に使われるTCPレシーバーバッファ (SO_RCVBUF) のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 65536 (64 kibibytes) 有効な値: [-1,...] 重要: medium -
request.timeout.ms
この設定はクライアントがリクエストの応答を待つ総時間の最大を制御します。タイムアウトの時間が経過する前に応答が受信されない場合は、必要であればクライアントはリクエストを再送信するでしょう。あるいは再試行が使い尽くされた場合は失敗するでしょう。
Type: dint デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: medium -
sasl.client.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASLクライアント コールバック ハンドラ クラスの完全修飾名。
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.jaas.config
JAAS設定ファイル内で使われる形式のSASL接続のためのJAAS login コンテキスト パラメータ。JAAS 設定ファイルのフォーマットはここで説明されます。値の形式は: '
loginModuleClass controlFlag (optionName=optionValue)*;
'。ブローカーについては、設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule が必要です;Type: password デフォルト: null 有効な値: 重要: medium -
sasl.kerberos.service.name
Kafkaが実行するKerbrosプリンシパル名。これはKafkaのJAAS設定あるいはKafkaの設定のどちらかで定義することができます。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
sasl.login.callback.handler.class
AuthenticateCallbackHandler インタフェースを実装するSASL ログイン コールバック ハンドラ クラスの完全修飾名。ブローカーについては、ログインのコールバックハンドラ設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.login.class
Loginインタフェースを実装するクラスの完全修飾名。ブローカーについては、ログイン設定はlistenerのプリフィックスを前に付ける必要があり、SASL機構名は小文字でなければなりません。例えば、listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
Type: クラス デフォルト: null 有効な値: 重要: medium -
sasl.mechanism
クライアント接続で使われるSASL機構。これはセキュリティプロバイダが利用可能な全ての機構です。GSSAPI がデフォルトの機構です。
Type: 文字列 デフォルト: GSSAPI 有効な値: 重要: medium -
security.protocol
ブローカーと通信するために使われるプロトコル。有効な値は: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL。
Type: 文字列 デフォルト: PLAINTEXT 有効な値: 重要: medium -
send.buffer.bytes
データを送信する時に使われるTCP送信バッファ (SO_SNDBUF)のサイズ。値が -1 であれば、OSのデフォルトが使われるでしょう。
Type: dint デフォルト: 131072 (128 kibibytes) 有効な値: [-1,...] 重要: medium -
socket.connection.setup.timeout.max.ms
The maximum amount of time the client will wait for the socket connection to be established. The connection setup timeout will increase exponentially for each consecutive connection failure up to this maximum. To avoid connection storms, a randomization factor of 0.2 will be applied to the timeout resulting in a random range between 20% below and 20% above the computed value.
Type: long デフォルト: 127000 (127 seconds) 有効な値: 重要: medium -
socket.connection.setup.timeout.ms
The amount of time the client will wait for the socket connection to be established. If the connection is not built before the timeout elapses, clients will close the socket channel.
Type: long デフォルト: 10000 (10 秒) 有効な値: 重要: medium -
ssl.enabled.protocols
SSL接続のために有効にされるプロトコルのリスト。デフォルトは、Java 11以降で実行する場合は 'TLSv1.2,TLSv1.3'、それ以外の場合は、'TLSv1.2' です。Java 11 のデフォルト値では、クライアントとサーバはどちらもサポートする場合は TLSv1.3 を優先し、そうでない場合は TLSv1.2 にフォールバックしますjj(両方が少なくと TLSv1.2 をサポートする場合)。このデフォルトはほとんどの場合で十分です。`ssl.protocol` の設定ドキュメントも見てください。
Type: list デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.keystore.type
キーストアファイルのファイル形式。これはクライアントについては任意です。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
ssl.protocol
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' に設定されている場合、ssl.enabled.protocols の値のうちの1つで、サーバが 'TLSv1.3' だけをサポートする場合でも、クライアントは 'TLSv1.3' を使いません。
Type: 文字列 デフォルト: TLSv1.2 有効な値: 重要: medium -
ssl.provider
SSL接続のために使われるセキュリティプロバイダの名前。デフォルト値はJVMのデフォルトのセキュリティプロバイダです。
Type: 文字列 デフォルト: null 有効な値: 重要: medium -
ssl.truststore.type
トラストストアファイルのファイル形式。
Type: 文字列 デフォルト: JKS 有効な値: 重要: medium -
metadata.max.age.ms
パーティションのリーダーシップが新しいブローカーあるいはパーティションを前もって見つけるために変更されたのを見ていないとしても、メタデータのリフレッシュを強制するミリ秒単位の時間。
Type: long デフォルト: 300000 (5 分) 有効な値: [0,...] 重要: low -
metric.reporters
メトリクス レポーターとして使われるクラスのリスト。
org.apache.kafka.common.metrics.MetricsReporter
インタフェースの実装により、新しいメトリックの生成を知らせるクラスをプラグインすることができます。JMX統計を登録するために常に JmxReporter が含まれます。Type: list デフォルト: "" 有効な値: 重要: low -
metrics.num.samples
メトリクスを計算するために保持される標本の数。
Type: dint デフォルト: 2 有効な値: [1,...] 重要: low -
metrics.recording.level
メトリクスのための最も高い記録レベル。
Type: 文字列 デフォルト: INFO 有効な値: [INFO, DEBUG, TRACE] 重要: low -
metrics.sample.window.ms
メトリクスの標本が計算されるための時間の窓。
Type: long デフォルト: 30000 (30 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.max.ms
接続が繰り返し失敗するブローカーへの再接続時に待つミリ秒単位の総最大時間。指定された場合、ホスト毎のバックオフはそれぞれの連続する失敗ごとにこの最大まで指数関数的に増加するでしょう。バックオフの計算を増加した後で、接続の嵐を避けるために20%のランダムなジッターが追加されます。
Type: long デフォルト: 1000 (1 秒) 有効な値: [0,...] 重要: low -
reconnect.backoff.ms
指定されたホストに再接続しようとするまで待機する基本的な総時間。これにより短いループ内でホストに繰り返し接続することを防ぎます。このbackoffはクライアントによってブローカーに送信される全ての接続に適用されます。
Type: long デフォルト: 50 有効な値: [0,...] 重要: low -
retries
0より大きい値を設定すると、クライアントは一時的なエラーによって失敗した全てのリクエストを再送信するでしょう。It is recommended to set the value to either zero or `MAX_VALUE` and use corresponding timeout parameters to control how long a client should retry a request.
Type: dint デフォルト: 2147483647 有効な値: [0,...,2147483647] 重要: low -
retry.backoff.ms
失敗したリクエストを再試行しようとするまで待機する総時間。これにより短いループ内で幾つかの失敗のシナリオがある場合に繰り返しリクエストすることを防ぎます。
Type: long デフォルト: 100 有効な値: [0,...] 重要: low -
sasl.kerberos.kinit.cmd
Kerberos kinit コマンドライン パス。
Type: 文字列 デフォルト: /usr/bin/kinit 有効な値: 重要: low -
sasl.kerberos.min.time.before.relogin
リフレッシュ試行間のログインスレッドのスリープ時間。
Type: long デフォルト: 60000 有効な値: 重要: low -
sasl.kerberos.ticket.renew.jitter
更新時間に追加されるランダムなジッターのパーセンテージ。
Type: double デフォルト: 0.05 有効な値: 重要: low -
sasl.kerberos.ticket.renew.window.factor
最後にリフレッシュされてからチケットの期限切れまでの時間が指定されたウィンドウ要素になるまで、ログインスレッドはスリープします。そしてその時間にチケットを更新しようとするでしょう。
Type: double デフォルト: 0.8 有効な値: 重要: low -
sasl.login.refresh.buffer.seconds
証明書をリフレッシュする時に証明書の有効期限を維持するバッファ時間の秒数。そうでなければ、バッファの秒数よりも有効期限の近くで更新が発生する場合、可能な限り多くのバッファ時間を維持するために、更新が上に移動されます。有効な値は0から3600(1時間); 値が指定されない場合はデフォルトの値 300 (5分)が使われます。この値と sasl.login.refresh.min.period.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 300 有効な値: [0,...,3600] 重要: low -
sasl.login.refresh.min.period.seconds
証明書をリフレッシュする前にログイン フレッシュ スレッドが待つ望ましい最小の時間の秒数。有効な値は0から900 (15分); 値が指定されない場合はデフォルトの値60(1分)が使われます。この値と sasl.login.refresh.buffer.seconds は、もしそれらの合計が証明書の残りの生存期間を超える場合に両方とも無視されます。現在のところは OAUTHBEARER にのみ適用されます。
Type: short デフォルト: 60 有効な値: [0,...,900] 重要: low -
sasl.login.refresh.window.factor
ログイン フレッシュ スレッドは、証明書の生存期間に関連した指定されたウィンドウ ファクタに達するまでスリープしようとします。その時点で証明書をリフレッシュしようとするでしょう。有効な値は0.5 (50%)以上と1.0 (100%)以下の間です; 値が指定されない場合はデフォルトの値 0.8 (80%)が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.8 有効な値: [0.5,...,1.0] 重要: low -
sasl.login.refresh.window.jitter
ログイン スレッドのスリープ時間に追加された証明書の生存期間に対するランダム ジッタの最大量。有効な値は 0以上と0.25 (25%)以下の間です; 値が指定されない場合はデフォルトの値 0.05 (5%) が使われます。現在のところは OAUTHBEARER にのみ適用されます。
Type: double デフォルト: 0.05 有効な値: [0.0,...,0.25] 重要: low -
security.providers
セキュリティアルゴリズムを実装するプロバイダをそれぞれ返す構成可能なクリエイタクラスのリスト。これらのクラスは、
org.apache.kafka.common.security.auth.SecurityProviderCreator
インスタンスを実装しなければなりません。Type: 文字列 デフォルト: null 有効な値: 重要: low -
ssl.cipher.suites
cipher スイーツのリストこれはTLSあるいはSSLネットワークプロトコルを使うネットワーク接続のためのセキュリティ設定を取り決めるために使われる、認証、暗号化、MACおよびキー交換アルゴリズムの名前の組み合わせです。デフォルトでは全ての利用可能なcipherスイーツがサポートされます。
Type: list デフォルト: null 有効な値: 重要: low -
ssl.endpoint.identification.algorithm
サーバの証明書を使ってサーバのホスト名を検証するためのエンドポイント識別アルゴリズム。
Type: 文字列 デフォルト: https 有効な値: 重要: low -
ssl.engine.factory.class
SSLEngine オブジェクトを提供するための org.apache.kafka.common.security.auth.SslEngineFactory 型のクラス。デフォルト値は、org.apache.kafka.common.security.ssl.DefaultSslEngineFactory です
Type: クラス デフォルト: null 有効な値: 重要: low -
ssl.keymanager.algorithm
SSL接続のためにキーマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されたキーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: SunX509 有効な値: 重要: low -
ssl.secure.random.implementation
SSL暗号化操作のために使われる SecureRandom PRNG 実装。
Type: 文字列 デフォルト: null 有効な値: 重要: low -
ssl.trustmanager.algorithm
SSL接続のためにトラストマネージャーファクトリーによって使われるアルゴリズム。デフォルト値はJava仮想マシーンのために設定されトラストーマネージャーファクトリーアルゴリズムです。
Type: 文字列 デフォルト: PKIX 有効な値: 重要: low