付録E 管理クライアント設定パラメーター

bootstrap.servers

型: list
インポート: high

Kafka クラスターへの最初の接続を確立するために使用するホストとポートのペアの一覧。クライアントは、ブートストラップ用に指定されたすべてのサーバーに関係なく、サーバーの完全なセットを検出するために使用される初期ホストにのみ影響します。このリストは host1:port1,host2:port2,…​ の形式にする必要があります。これらのサーバーは、クラスターの完全なメンバーシップを検出するために最初の接続に使用されるため(動的に変更される可能性がある)、この一覧にはサーバーの完全セットを含める必要はありません(サーバーがダウンした場合など)。

ssl.key.password

タイプ: password
デフォルト: null
インポート: high

キーストアファイルまたは 'ssl.keystore.key' に指定された PEM キーのパスワード。これは、双方向認証が設定されている場合のみクライアントに必要です。

ssl.keystore.certificate.chain

タイプ: password
デフォルト: null
インポート: high

'ssl.keystore.type' により指定された形式の証明書チェーン。デフォルトの SSL エンジンファクトリーは、X.509 証明書の一覧で PEM 形式のみをサポートします。

ssl.keystore.key

タイプ: password
デフォルト: null
インポート: high

'ssl.keystore.type' により指定された形式の秘密鍵。デフォルトの SSL エンジンファクトリーは、PKCS#8 鍵を持つ PEM 形式のみをサポートします。鍵を暗号化する場合は、'ssl.key.password' を使用して鍵のパスワードを指定する必要があります。

ssl.keystore.location

type: string
デフォルト: null
Importance: high

キーストアファイルの場所。これはクライアント用にオプションであり、クライアントの双方向認証に使用できます。

ssl.keystore.password

タイプ: password
デフォルト: null
インポート: high

キーストアファイルのストアパスワード。これはクライアントでオプションであり、'ssl.keystore.location' が設定されている場合にのみ必要です。キーストアパスワードは PEM 形式ではサポートされません。

ssl.truststore.certificates

タイプ: password
デフォルト: null
インポート: high

'ssl.truststore.type' によって指定された形式の信頼済み証明書。デフォルトの SSL エンジンファクトリーは、X.509 証明書で PEM 形式のみをサポートします。

ssl.truststore.location

type: string
デフォルト: null
Importance: high

トラストストアファイルの場所。

ssl.truststore.password

タイプ: password
デフォルト: null
インポート: high

トラストストアファイルのパスワード。パスワードが設定されていないと、設定したトラストストアファイルが使用されますが、整合性チェックは無効になります。トラストストアパスワードは PEM 形式ではサポートされません。

client.dns.lookup

type: string
デフォルト: use_all_dns_ips
有効な値: [default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium

クライアントが DNS ルックアップをどのように使用するかを制御します。use_all_dns_ips に設定すると、正常な接続が確立されるまで、返された各 IP アドレスに接続します。切断後、次の IP が使用されます。すべての IP を一度使用した後、クライアントはホスト名から IP を再度解決します(JVM と OS キャッシュ DNS 名の検索の両方)。resolve_canonical_bootstrap_servers_only に設定すると、各ブートストラップアドレスを正規名のリストに解決します。ブートストラップフェーズ後、これは use_all_dns_ips と同じように動作します。default (非推奨)に設定すると、ルックアップが複数の IP アドレスを返しても、ルックアップが返した最初の IP アドレスへの接続を試行します。

client.id

型: 文字列
デフォルト:
""
Importance: medium

要求の実行時にサーバーに渡す id 文字列。これの目的は、サーバー側の要求ロギングに論理アプリケーション名を含めることで、ip/port 以外の要求のソースを追跡できます。

connections.max.idle.ms

タイプ: long
デフォルト: 300000(5 分)
Importance: medium

この設定によって指定されるミリ秒数の後にアイドル状態の接続を閉じます。

default.api.timeout.ms

型: int
デフォルト: 60000(1 分)
有効な値: [0,…​]
Importance: medium

クライアント API のタイムアウト(ミリ秒単位)を指定します。この設定は、timeout パラメーターを指定しないすべてのクライアント操作のデフォルトタイムアウトとして使用されます。

receive.buffer.bytes

型: int
デフォルト: 65536(64 kibibytes)
有効な値 [ -1,…​]
Importance: medium

データの読み取り時に使用する TCP 受信バッファー(SO_RCVBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。

request.timeout.ms

型: int
デフォルト: 30000(30 秒)
有効な値: [0,…​]
Importance: medium

設定は、クライアントがリクエストの応答を待つ最大時間を制御します。タイムアウトが経過する前にレスポンスが受信されなかった場合、再試行が行われるとクライアントはリクエストを再送信します。

sasl.client.callback.handler.class

型: クラス
デフォルト: null
Importance: medium

AuthenticateCallbackHandler インターフェースを実装する SASL クライアントコールバックハンドラークラスの完全修飾名。

sasl.jaas.config

タイプ: password
デフォルト: null
のインポート: 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
デフォルト: null
Importance: medium

Kafka が実行される Kerberos プリンシパル名。これは、Kafka の JAAS 設定または Kafka の設定で定義できます。

sasl.login.callback.handler.class

型: クラス
デフォルト: null
Importance: medium

AuthenticateCallbackHandler インターフェースを実装する SASL ログインコールバックハンドラークラスの完全修飾名。ブローカーの場合、ログインコールバックハンドラーの設定には、小文字でリスナーのプレフィックスおよび SASL メカニズム名を付ける必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler です。

sasl.login.class

型: クラス
デフォルト: null
Importance: medium

ログインインターフェースを実装するクラスの完全修飾名。ブローカーの場合、ログイン設定の前にリスナー接頭辞と SASL メカニズム名を付ける必要があります。For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.

sasl.mechanism

type: string
デフォルト: GSSAPI
Importance: medium

クライアント接続に使用される SASL メカニズム。これは、セキュリティープロバイダーを利用できるメカニズムがある場合があります。GSSAPI はデフォルトのメカニズムです。

security.protocol

type: string
デフォルト: PLAINTEXT
Importance: medium

ブローカーと通信するために使用されるプロトコル。有効な値は PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。

send.buffer.bytes

型: int
デフォルト: 131072(128 kibibytes)
有効な値 [ -1,…​]
Importance: medium

データ送信時に使用する TCP 送信バッファー(SO_SNDBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。

socket.connection.setup.timeout.max.ms

タイプ: long
デフォルト: 127000(127 秒)
Importance: medium

ソケット接続が確立されるまでクライアントが待機する最大時間。接続セットアップのタイムアウトは、この最大値までの連続する接続障害ごとに指数関数的に増加します。接続ストームを回避するために、0.2 のランダム化係数はタイムアウトに適用されます。これにより、計算値の 20% 未満の 20% の範囲がランダムな範囲になります。

socket.connection.setup.timeout.ms

タイプ: long
デフォルト: 10000(10 秒)
のインポート中: medium

クライアントがソケット接続を確立するのを待つ時間。タイムアウトが経過する前にコネクションがビルドされない場合、クライアントはソケットチャネルを閉じます。

ssl.enabled.protocols

type: list
デフォルト: 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

型: string
デフォルト: JKS
Importance: medium

キーストアファイルのファイル形式。これはクライアントでオプションです。

ssl.protocol

型: 文字列
デフォルト: TLSv1.3
のインポート: 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
デフォルト: null
Importance: medium

SSL 接続に使用されるセキュリティープロバイダーの名前。デフォルト値は JVM のデフォルトセキュリティープロバイダーです。

ssl.truststore.type

型: string
デフォルト: JKS
Importance: medium

トラストストアファイルのファイル形式。

metadata.max.age.ms

タイプ: long
デフォルト: 300000(5 分)
有効な値: [0,…​]
Importance: low

パーティションリーダーを変更して、新しいブローカーまたはパーティションを正常に検出していない場合でも、メタデータの更新を強制する期間(ミリ秒単位)。

metric.reporters

タイプ: list
デフォルト: ""
Importance: low

メトリクスレポーターとして使用するクラスの一覧。org.apache.kafka.common.metrics.MetricsReporter インターフェースを実装すると、新しいメトリクス作成の通知を受信するクラスにプラグインすることができます。JmxReporter は JMX 統計を登録するために常に含まれます。

metrics.num.samples

型: int
デフォルト: 2
有効な値 [ 1,…​]
Importance: low

メトリックの計算に維持されるサンプル数。

metrics.recording.level

タイプ: string
デフォルト: INFO
有効な値: [INFO、DEBUG, TRACE]
重要度: low

メトリクスの記録レベル。

metrics.sample.window.ms

型: long
デフォルト: 30000(30 秒)
有効な値: [0,…​]
Importance: low

メトリクスサンプルが計算される期間。

reconnect.backoff.max.ms

型: long
デフォルト: 1000(1 秒)
有効な値: [0,…​]
重要: low

接続に繰り返し失敗したブローカーに再接続するまで待つ最大時間(ミリ秒単位)。指定された場合、ホストごとのバックオフは、連続した接続失敗ごとに指数関数的に増加します。この最大値までです。バックオフの増加を算出したら、接続の量を回避するために 20% random jitter が追加されます。

reconnect.backoff.ms

型: long
デフォルト: 50
有効な値: [0,…​]
Importance: low

指定のホストに再接続を試みる前に待機する時間のベース時間。これにより、密接ループでホストに繰り返し接続できなくなります。このバックオフは、クライアントがブローカーに試行するすべての接続に適用されます。

retries

型: int
デフォルト: 2147483647
有効値: [0,…​,2147483647]
Importance: low

値をゼロに設定すると、クライアントは一時的なエラーで失敗したリクエストを再送信します。値をゼロまたは MAX_VALUE に設定し、対応する timeout パラメーターを使用してリクエストを再試行する期間を制御することが推奨されます。

retry.backoff.ms

型: long
デフォルト: 100
有効な値: [0,…​]
Importance: low

失敗したリクエストを再試行するまで待機する時間。これにより、一部の障害シナリオにおいて、密接ループでリクエストを繰り返し送信しないようにします。

sasl.kerberos.kinit.cmd

型: 文字列
デフォルト: /usr/bin/kinit
重要性: low

Kerberos kinit コマンドパス。

sasl.kerberos.min.time.before.relogin

タイプ: long
デフォルト: 60000
インポート: low

更新試行間のログインスレッドスリープ時間。

sasl.kerberos.ticket.renew.jitter

型:
デフォルト: 0.05
インポート: low

更新時間にランダムなジッターが追加されたパーセンテージ。

sasl.kerberos.ticket.renew.window.factor

型:
デフォルト: 0.8
インポート: low

ログインスレッドは、指定のウィンドウ係数からチケットの有効期限に達するまでスリープされます。この期間が経過するとチケットの更新が試行されます。

sasl.login.refresh.buffer.seconds

タイプ: 短い
デフォルト: 300
有効な値: [0,…​,3600]
Importance: low

認証情報を更新するときの認証情報の有効期限(秒単位)。そうでなければ、更新がバッファー秒数よりも期限切れになり、可能な限り多くのバッファー時間を維持するよう更新が行われます。法人の値は 0 から 3600(1 時間)で設定されています。値が指定されていない場合には、デフォルト値の 300(5 分)が使用されます。この値と sasl.login.refresh.min.period.seconds は、合計が認証情報の残りの有効期間を超えた場合に無視されます。現在、OAUTHBEARER にのみ適用されます。

sasl.login.refresh.min.period.seconds

タイプ: 短い
デフォルト: 60
有効な値 [ 0,…​,900]
Importance: low

ログイン更新スレッドで認証情報を更新するまで待つ必要最小限の時間(秒単位)。法人の値は 0 から 900(15 分)で設定されています。値が指定されていない場合には、デフォルト値の 60(1 分)が使用されます。この値と sasl.login.refresh.buffer.seconds は、その合計が認証情報の残りの有効期間を超える場合に無視されます。現在、OAUTHBEARER にのみ適用されます。

sasl.login.refresh.window.factor

型:
デフォルト: 0.8
有効な値 [ 0.5,…​,1.0]
Importance: low

ログイン更新スレッドは、認証情報の有効期間に比べ、指定されたウィンドウ係数に達するまでスリープ状態になり、クレデンシャルの更新を試みます。法人の値は 0.5(50%)と 1.0(100%)の範囲になります。値が指定されていない場合には、デフォルト値の 0.8(80%)が使用されます。現在、OAUTHBEARER にのみ適用されます。

sasl.login.refresh.window.jitter

型:
デフォルト: 0.05
有効な値 [ 0.0,…​,0.25]
Importance: low

ログイン更新スレッドのスリープ時間に追加される認証情報の有効期間に対して、ランダムなジッターの最大量。法人の値は 0 から 0.25(25%)で囲まれています。値が指定されていない場合には、デフォルト値の 0.05(5%)が使用されます。現在、OAUTHBEARER にのみ適用されます。

security.providers

型: 文字列
デフォルト: null
インポート: low

セキュリティーアルゴリズムを実装するプロバイダーを返す、設定可能な作成者クラスの一覧。これらのクラスは org.apache.kafka.common.security.auth.SecurityProviderCreator インターフェースを実装する必要があります。

ssl.cipher.suites

type: list
デフォルト: null
インポート: low

暗号化スイートの一覧。これは、TLS または SSL ネットワークプロトコルを使用してネットワーク接続のセキュリティー設定をネゴシエートするために使用される認証、暗号化、MAC、鍵交換アルゴリズムの名前付きの組み合わせです。デフォルトでは、利用可能なすべての暗号スイートがサポートされます。

ssl.endpoint.identification.algorithm

型: 文字列
デフォルト: https
インポート: low

サーバー証明書を使用してサーバーのホスト名を検証するエンドポイント識別アルゴリズム。

ssl.engine.factory.class

型: クラス
デフォルト: null
のインポート: low

SSLEngine オブジェクトを提供するために、org.apache.kafka.common.security.auth.SslEngineFactory タイプのクラス。Default value is org.apache.kafka.common.security.ssl.DefaultSslEngineFactory.

ssl.keymanager.algorithm

型: 文字列
デフォルト: SunX509
インポート: low

SSL 接続のキーマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたキーマネージャーファクトリーアルゴリズムです。

ssl.secure.random.implementation

型: 文字列
デフォルト: null
インポート: low

SSL 暗号操作に使用する SecureRandom PRNG 実装。

ssl.trustmanager.algorithm

タイプ: 文字列
デフォルト: PKIX
インポート: low

SSL 接続のトラストマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたトラストマネージャーファクトリーアルゴリズムです。