付録E 管理クライアント設定パラメーター
bootstrap.servers
type: list
Importance: high
Kafka クラスターへの最初の接続を確立するために使用するホストとポートのペアの一覧。クライアントは、ここで指定するすべてのサーバーの使用を行います。このリストは、サーバーのフルセットを検出するために使用される初期ホストにのみ影響します。このリストは
host1:port1,host2:port2,…
の形式にする必要があります。これらのサーバーは、クラスターの全メンバーシップを検出するために初期接続(動的に変更されている可能性がある)にだけ使用されているため、この一覧にはサーバーのフルセットを含める必要はありません(サーバーがダウンした場合の場合もあります)。ssl.key.password
type: password
Default: null
Importance: high
キーストアファイルまたは 'ssl.keystore.key' で指定された PEM キーの秘密鍵のパスワード。これは、双方向認証が設定されている場合のみクライアントに必要です。
ssl.keystore.certificate.chain
type: password
Default: null
Importance: high
'ssl.keystore.type' で指定された形式の証明書チェーン。デフォルトの SSL エンジンファクトリーは、X.509 証明書のリストを持つ PEM 形式のみをサポートします。
ssl.keystore.key
type: password
Default: null
Importance: high
'ssl.keystore.type' で指定された形式の秘密鍵デフォルトの SSL エンジンファクトリーは、PKCS#8 キーを持つ PEM 形式のみをサポートします。キーが暗号化されている場合は、'ssl.key.password' を使用してキーパスワードを指定する必要があります。
ssl.keystore.location
type: string
Default: null
Importance: high
キーストアファイルの場所。これはクライアントにはオプションであり、クライアントの双方向認証に使用できます。
ssl.keystore.password
type: password
Default: null
Importance: high
キーストアファイルのストアパスワード。これはクライアントでは任意で、'ssl.keystore.location' が設定されている場合にのみ必要です。キーストアのパスワードは PEM 形式ではサポートされていません。
ssl.truststore.certificates
type: password
Default: null
Importance: high
'ssl.truststore.type' で指定された形式の信頼済み証明書。デフォルトの SSL エンジンファクトリーは、X.509 証明書を使用した PEM 形式のみをサポートします。
ssl.truststore.location
type: string
Default: null
Importance: high
トラストストアファイルの場所。
ssl.truststore.password
type: password
Default: null
Importance: high
トラストストアファイルのパスワード。パスワードが設定されていない場合は、設定されたトラストストアファイルが使用されますが、整合性チェックは無効になります。トラストストアのパスワードは PEM 形式ではサポートされていません。
client.dns.lookup
type: string
デフォルト: use_all_dns_ips
有効な値: [default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
インポートランス: medium
クライアントが DNS ルックアップを使用する方法を制御します。
use_all_dns_ips
に設定すると、正常な接続が確立されるまで、返された各 IP アドレスを順番に接続します。接続が切断されると、次の IP が使用されます。すべての IP が 1 回使用されると、クライアントはホスト名から IP を再度解決します(JVM と OS キャッシュ DNS 名ルックアップの両方)。resolve_canonical_bootstrap_servers_only
に設定すると、各ブートストラップアドレスを正規名のリストに解決します。ブートストラップフェーズの後に、これはuse_all_dns_ips
と同じように動作します。default
(非推奨)に設定すると、ルックアップが複数の IP アドレスを返す場合でも、ルックアップによって返される最初の IP アドレスへの接続を試行します。client.id
type: string
デフォルト: ""
Importance: medium
要求の実行時にサーバーに渡す id 文字列。この目的は、サーバー側の要求ロギングに論理アプリケーション名を含めることで、ip/ポート以外の要求のソースを追跡できるようにすることです。
connections.max.idle.ms
type: long
デフォルト: 300000(5 分)
Importance: medium
この設定によって指定された期間(ミリ秒単位)の後にアイドル状態の接続を閉じます。
default.api.timeout.ms
type: int
Default: 60000(1 分)
有効な値: [0,…]
Importance: medium
クライアント API のタイムアウト(ミリ秒単位)を指定します。この設定は、
timeout
パラメーターを指定しないすべてのクライアント操作のデフォルトタイムアウトとして使用されます。receive.buffer.bytes
type: int
Default: 65536(64 kibibytes)
Valid Values: [-1,…]
Importance: medium
データの読み取り時に使用する TCP 受信バッファー(SO_RCVBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。
request.timeout.ms
type: int
デフォルト: 30000(30 秒)
有効な値: [0,…]
Importance: medium
この設定では、クライアントがリクエストの応答を待つ最大時間を制御します。タイムアウトが経過する前に応答が受信されない場合、クライアントがリクエストを再送するか、再試行した場合はリクエストが失敗します。
sasl.client.callback.handler.class
type: class
Default: null
Importance: medium
AuthenticateCallbackHandler インターフェースを実装する SASL クライアントコールバックハンドラークラスの完全修飾名。
sasl.jaas.config
type: password
Default: null
Importance: medium
JAAS 設定ファイルによって使用される形式で、SASL 接続の JAAS ログインコンテキストパラメーター。JAAS 設定ファイルの形式は、こちらで説明されています。値のフォーマットは
loginModuleClass controlFlag (optionName=optionValue)*;
です。ブローカーの場合、設定の前にリスナープレフィックスおよび SASL メカニズム名が付けられます。例: listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required;sasl.kerberos.service.name
type: string
Default: null
Importance: medium
Kafka が実行される Kerberos プリンシパル名。これは、Kafka の JAAS 設定または Kafka の設定のいずれかで定義できます。
sasl.login.callback.handler.class
type: class
Default: null
Importance: medium
AuthenticateCallbackHandler インターフェースを実装する SASL ログインコールバックハンドラークラスの完全修飾名。ブローカーの場合、ログインコールバックハンドラー設定の前にリスナープレフィックスと SASL メカニズム名(小文字の)を付ける必要があります。例: listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler。
sasl.login.class
type: class
Default: null
Importance: medium
Login インターフェースを実装するクラスの完全修飾名。ブローカーの場合、ログイン設定の前にリスナープレフィックスおよび SASL メカニズム名が付けられます。For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.
sasl.mechanism
type: string
Default: GSSAPI
Importance: medium
クライアント接続に使用される SASL メカニズム。これは、セキュリティープロバイダーが利用できるメカニズムになることがあります。GSSAPI がデフォルトのメカニズムです。
security.protocol
type: string
Default: PLAINTEXT
Importance: medium
ブローカーとの通信に使用されるプロトコル。有効な値は PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。
send.buffer.bytes
type: int
Default: 131072(128 kibibytes)
Valid Values: [-1,…]
Importance: medium
データ送信時に使用する TCP 送信バッファー(SO_SNDBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。
socket.connection.setup.timeout.max.ms
タイプ: long
デフォルト: 30000(30 秒)
インポート: 中
クライアントがソケット接続を確立するまで待機する最大時間。接続設定のタイムアウトにより、連続する接続の失敗ごとに指数関数的に増加します。接続サイムを回避するために、ランダム化係数 0.2 がタイムアウトに適用されるため、以下の 20% と計算された値の 20% のランダムな範囲が適用されます。
socket.connection.setup.timeout.ms
タイプ: long
デフォルト: 10000(10 秒)
重要: medium
クライアントがソケット接続を確立するのを待機する期間。タイムアウトが経過する前に接続がビルドされない場合、クライアントはソケットチャネルを閉じます。
ssl.enabled.protocols
type: list
Default: TLSv1.2,TLSv1.3
Importance: medium
SSL 接続に対して有効なプロトコル一覧。Java 11 以降、「TLSv1.2」以降で実行する場合、デフォルトは 'TLSv1.2,TLSv1.3' です。Java 11 のデフォルト値は、クライアントとサーバーの両方が TLSv1.2 に対応している場合は、クライアントとサーバーは TLSv1.3 を優先します(TLSv1.2 以上をサポートすることを想定します)。多くのケースでは、このデフォルトは問題ありません。
ssl.protocol
の設定に関するドキュメントも参照してください。ssl.keystore.type
type: string
Default: JKS
Importance: medium
キーストアファイルのファイル形式。これはクライアントの場合はオプションになります。
ssl.protocol
type: string
Default: TLSv1.3
importance: medium
SSLContext の生成に使用される SSL プロトコル。Java 11 以降「TLSv1.2」を使用して実行すると、デフォルトは「TLSv1.3」です。この値は、ほとんどのユースケースで十分です。最近の JVM で許可される値は 'TLSv1.2' および 'TLSv1.3' です。'TLS'、'TLSv1.1'、'SSL'、'SSLv2'、および 'SSLv3' は古い JVM でサポートされる可能性がありますが、既知のセキュリティー脆弱性が原因で使用は推奨されません。この設定および 'ssl.enabled.protocols' のデフォルト値を使用すると、サーバーが「TLSv1.3」をサポートしない場合、クライアントは 'TLSv1.2' にダウングレードします。この設定を「TLSv1.2」に設定すると、クライアントは ssl.enabled.protocols の値のいずれかである場合でも、「TLSv1.3」を使用し、サーバーは「TLSv1.3」のみに対応します。
ssl.provider
type: string
Default: null
Importance: medium
SSL 接続に使用されるセキュリティープロバイダーの名前。デフォルト値は JVM のデフォルトセキュリティープロバイダーです。
ssl.truststore.type
type: string
Default: JKS
Importance: medium
トラストストアファイルのファイル形式です。
metadata.max.age.ms
type: long
デフォルト: 300000(5 分)
有効な値: [0,…]
Importance: low
パーティションリーダーが変更されておらず、新しいブローカーやパーティションをプロアクティブに検出するようにしていても、メタデータの更新を強制する期間(ミリ秒単位)。
metric.reporters
type: list
デフォルト: ""
Importance: low
メトリクスレポーターとして使用するクラスの一覧。
org.apache.kafka.common.metrics.MetricsReporter
インターフェースを実装すると、新しいメトリクス作成の通知となるクラスにプラグインすることができます。JmxReporter は、JMX 統計を登録するために常に含まれます。metrics.num.samples
type: int
Default: 2
Valid Values: [1,…]
Importance: low
メトリクスを計算するために保持されるサンプルの数。
metrics.recording.level
type: string
Default: INFO
Valid Values: [INFO, DEBUG, TRACE]
Importance: low
メトリックの最大記録レベル。
metrics.sample.window.ms
type: long
デフォルト: 30000(30 秒)
有効値: [0,…]
Importance: low
メトリクスサンプルが計算される期間。
reconnect.backoff.max.ms
type: long
デフォルト: 1000(1秒)
有効値: [0,…]
Importance: low
繰り返し接続に失敗したブローカーに再接続するまで待機する最大時間(ミリ秒単位)。指定された場合、ホストごとのバックオフは連続した接続障害ごとに指数関数的に増加し、最大接続数までします。バックオフの増加を計算すると、接続のフレッターを回避するために 20% のランダムジッターが追加されます。
reconnect.backoff.ms
type: long
デフォルト: 50
有効な値: [0,…]
インポートランス: low
指定のホストに再接続を試みる前に待機する時間。これにより、密接なループでホストへ繰り返し接続することはできません。このバックオフは、クライアントがブローカーへのすべての接続試行に適用されます。
retries
type: int
Default: 2147483647
Valid Values: [0,…,2147483647]
Importance: low
ゼロよりも大きい値を設定すると、クライアントは一時的なエラーで失敗したリクエストを再送信します。値をゼロまたは
MAX_VALUE
に設定し、対応するタイムアウトパラメーターを使用してクライアントの再試行期間を制御することが推奨されます。retry.backoff.ms
type: long
デフォルト: 100
有効な値: [0,…]
インポートランス: low
失敗したリクエストを再試行するまでの待機時間。これにより、障害シナリオによっては、1 回目のループでリクエストを繰り返し送信しないようにします。
sasl.kerberos.kinit.cmd
type: string
デフォルト: /usr/bin/kinit
Importance: low
Kerberos kinit コマンドパス。
sasl.kerberos.min.time.before.relogin
タイプ: long
デフォルト: 60000
インポートランス: low
更新試行の間には、ログインスレッドのスリープ時間。
sasl.kerberos.ticket.renew.jitter
type: double
Default: 0.05
Importance: low
ランダムなジッターの割合が更新時間に追加されます。
sasl.kerberos.ticket.renew.window.factor
type: double
デフォルト: 0.8
クォーラム: low
指定のウィンドウ係数からチケットの有効期限に達するまで、ログインスレッドはスリープ状態になります。
sasl.login.refresh.buffer.seconds
type: short
Default: 300
Valid Values: [0,…,3600]
Importance: low
認証情報の更新時における認証情報が失効するまでの時間(秒単位)。更新が行われない場合、バッファーの秒数より期限切れになり始めたら、更新ができるだけ多くのバッファー時間を維持します。有効な値は 0 から 3600(1 時間)の間です。値が指定されていない場合は、デフォルト値の 300(5 分)が使用されます。認証情報の残存期間が経過すると、この値と sasl.login.refresh.min.period.seconds はいずれも無視されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.min.period.seconds
type: short
Default: 60
Valid Values: [0,…,900]
Importance: low
ログイン更新スレッドがクレデンシャルを更新する前に待機する最低時間(秒単位)。有効な値は 0 から 900(15 分)までの値になります。値が指定されていない場合は、デフォルト値の 60(1 分)が使用されます。認証情報の残存期間が経過すると、この値と sasl.login.refresh.buffer.seconds はいずれも無視されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.window.factor
type: double
Default: 0.8
Valid Values: [0.5,…,1.0]
Importance: low
ログイン更新スレッドは、認証情報の有効期間と相対的な期間係数に達するまでスリープします。この場合、認証情報の更新を試みます。有効な値は 0.5(50%)と 1.0(100%)です。値が指定されていない場合、デフォルト値の 0.8(80%)が使用されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.window.jitter
type: double
Default: 0.05
Valid Values: [0.0,…,0.25]
Importance: low
ログイン更新スレッドのスリープ時間に追加されたクレデンシャルの有効期間に対するランダムなジッターの最大数。有効な値は 0 から 0.25(25%)までの値になります。値が指定されていない場合は、デフォルト値の 0.05(5%)が使用されます。現在、OAUTHBEARER にのみ適用されます。
security.providers
type: string
Default: null
Importance: low
セキュリティーアルゴリズムを実装するプロバイダーを返す設定可能な作成者クラスのリスト。これらのクラスは
org.apache.kafka.common.security.auth.SecurityProviderCreator
インターフェースを実装する必要があります。ssl.cipher.suites
type: list
Default: null
Importance: low
暗号化スイートの一覧。これは、TLS または SSL ネットワークプロトコルを使用してネットワーク接続のセキュリティー設定をネゴシエートするために使用される認証、暗号化、MAC およびキー交換アルゴリズムの名前付き組み合わせです。デフォルトでは、利用可能なすべての暗号スイートがサポートされます。
ssl.endpoint.identification.algorithm
タイプ: 文字列
デフォルト: https
インポートランス: low
サーバー証明書を使用してサーバーのホスト名を検証するエンドポイント識別アルゴリズム。
ssl.engine.factory.class
type: class
Default: null
Importance: low
種別 org.apache.kafka.common.security.auth.SslEngineFactory のクラスで SSLEngine オブジェクトを提供します。Default value is org.apache.kafka.common.security.ssl.DefaultSslEngineFactory.
ssl.keymanager.algorithm
type: string
Default: SunX509
Importance: low
SSL 接続のキーマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたキーマネージャーファクトリーアルゴリズムです。
ssl.secure.random.implementation
type: string
Default: null
Importance: low
SSL 暗号化操作に使用する SecureRandom PRNG 実装。
ssl.trustmanager.algorithm
type: string
デフォルト: PKIX
重要性: low
SSL 接続のトラストマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたトラストマネージャーファクトリーアルゴリズムです。