AdminClient の構成¶
このトピックでは、Confluent Platform で使用できる構成パラメーターについて説明します。Apache Kafka® Admin クライアントライブラリ(AdminClient
)の構成パラメーターは、重要度の高いものから順に並べられています。
-
bootstrap.servers
Kafka クラスターとの初期接続を確立するために使用するホストとポートのペアのリスト。ここでブートストラップ用にどのサーバーが指定されているかにかかわらず、クライアントはすべてのサーバーを使用します。このリストは、すべてのサーバーを検出するために使用する最初のホストにのみ影響します。このリストは、
host1:port1,host2:port2,...
という形式にする必要があります。これらのサーバーは、初期接続ですべてのクラスターメンバーシップを検出するためにのみ使用されます。これは動的に変わる可能性があるので、このリストにすべてのサーバーセットを含める必要はありません(ただし、サーバーの障害に備えて、複数指定しておくこともできます)。型: リスト デフォルト: 指定可能な値: 重要度: 高 -
ssl.key.password
キーストアファイルのプライベートキー、または `ssl.keystore.key' で指定された PEM キーのパスワード。これは、双方向認証が構成されている場合にのみクライアントに必要です。
型: password デフォルト: null 指定可能な値: 重要度: 高 -
ssl.keystore.certificate.chain
'ssl.keystore.type' で指定された形式の証明書チェーン。デフォルトの SSL エンジンファクトリは、PEM 形式の X.509 証明書のリストのみをサポートします。
型: password デフォルト: null 指定可能な値: 重要度: 高 -
ssl.keystore.key
'ssl.keystore.type' で指定された形式のプライベートキー。デフォルトの SSL エンジンファクトリは、PEM 形式の PKCS#8 キーのみをサポートします。キーが暗号化されている場合は、'ssl.key.password' を使用してキーのパスワードを指定する必要があります。
型: password デフォルト: null 指定可能な値: 重要度: 高 -
ssl.keystore.location
キーストアファイルの場所。クライアントでは省略可能です。クライアントの相互認証に使用できます。
型: string デフォルト: null 指定可能な値: 重要度: 高 -
ssl.keystore.password
キーストアファイルのストアパスワード。クライアントでは省略可能です。'ssl.keystore.location' を構成した場合にのみ必要となります。キーストアのパスワードは PEM 形式ではサポートされていません。
型: password デフォルト: null 指定可能な値: 重要度: 高 -
ssl.truststore.certificates
'ssl.truststore.type' で指定された形式の信頼される証明書。デフォルトの SSL エンジンファクトリは、PEM 形式の X.509 証明書のみをサポートします。
型: password デフォルト: null 指定可能な値: 重要度: 高 -
ssl.truststore.location
トラストストアファイルの場所。
型: string デフォルト: null 指定可能な値: 重要度: 高 -
ssl.truststore.password
トラストストアファイルのパスワード。パスワードが設定されていなくても、構成されたトラストストアファイルを使用できますが、整合性チェックが無効になります。トラストストアのパスワードは PEM 形式ではサポートされていません。
型: password デフォルト: null 指定可能な値: 重要度: 高 -
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 アドレスへの接続を試行します。型: string デフォルト: use_all_dns_ips 指定可能な値: [default、use_all_dns_ips、resolve_canonical_bootstrap_servers_only] 重要度: 中 -
client.id
リクエストを行う際にサーバーに渡す ID 文字列。これは、論理アプリケーション名をサーバー側のリクエストログに含めることで、IP とポートだけでなく、リクエストのソースを追跡できるようにすることが目的です。
型: string デフォルト: "" 指定可能な値: 重要度: 中 -
connections.max.idle.ms
アイドル状態の接続は、この構成で指定された時間(ミリ秒)の経過後に終了されます。
型: long デフォルト: 300000(5 分) 指定可能な値: 重要度: 中 -
default.api.timeout.ms
クライアント API のタイムアウト(単位: ミリ秒)を指定します。この構成は、
timeout
パラメーターを指定していないすべてのクライアント操作のデフォルトのタイムアウトとして使用されます。型: int デフォルト: 60000(1 分) 指定可能な値: [0,...] 重要度: 中 -
receive.buffer.bytes
データを読み取る際に使用される TCP 受信バッファ(SO_RCVBUF)のサイズ。値が -1 である場合は、OS のデフォルトが使用されます。
型: int デフォルト: 65536(64 キビバイト) 指定可能な値: [-1,...] 重要度: 中 -
request.timeout.ms
この構成では、クライアントがリクエストの応答を待つ最大の待機時間を指定します。タイムアウト時間が経過するまで応答を受信できなかった場合、クライアントは、必要に応じてリクエストを再送し、再試行回数が上限に達した場合は、リクエストを失敗とします。
型: int デフォルト: 30000(30 秒) 指定可能な値: [0,...] 重要度: 中 -
sasl.client.callback.handler.class
AuthenticateCallbackHandler インターフェイスを実装する SASL クライアントコールバックハンドラークラスの完全修飾名。
型: class デフォルト: null 指定可能な値: 重要度: 中 -
sasl.jaas.config
JAAS の構成ファイルで使用される形式で記述された、SASL 接続の JAAS ログインコンテキストパラメーター。JAAS 構成ファイル形式については、こちらの説明を参照してください。値の形式は、
loginModuleClass controlFlag (optionName=optionValue)*;
です。ブローカーの場合は、小文字のリスナープレフィックスと SASL メカニズム名を構成の先頭に付ける必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule とする必要があります。型: password デフォルト: null 指定可能な値: 重要度: 中 -
sasl.kerberos.service.name
Kafka が実行される際の Kerberos プリンシパル名。これは、Kafka の JAAS 構成または Kafka の構成のいずれかで定義できます。
型: string デフォルト: null 指定可能な値: 重要度: 中 -
sasl.login.callback.handler.class
AuthenticateCallbackHandler インターフェイスを実装する SASL ログインコールバックハンドラークラスの完全修飾名です。ブローカーの場合は、小文字のリスナープレフィックスと SASL メカニズム名をログインコールバックハンドラー構成の先頭に付ける必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler とします。
型: class デフォルト: null 指定可能な値: 重要度: 中 -
sasl.login.class
Login インターフェイスを実装するクラスの完全修飾名。ブローカーの場合は、小文字のリスナープレフィックスと SASL メカニズム名をログイン構成の先頭に付ける必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin とします。
型: class デフォルト: null 指定可能な値: 重要度: 中 -
sasl.mechanism
クライアントの接続に使用される SASL メカニズム。セキュリティプロバイダーを利用できるものであれば、どのメカニズムでも構いません。GSSAPI がデフォルトのメカニズムです。
型: string デフォルト: GSSAPI 指定可能な値: 重要度: 中 -
security.protocol
ブローカーとの通信に使用されるプロトコル。指定可能な値は、PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。
型: string デフォルト: PLAINTEXT 指定可能な値: 重要度: 中 -
send.buffer.bytes
データを送信する際に使用される TCP 送信バッファ(SO_SNDBUF)のサイズ。値が -1 である場合は、OS のデフォルトが使用されます。
型: int デフォルト: 131072(128 キビバイト) 指定可能な値: [-1,...] 重要度: 中 -
socket.connection.setup.timeout.max.ms
クライアントがソケット接続の確立を待機する最大時間を指定します。連続して接続に失敗するたびに、接続のセットアップのタイムアウトが、この最大値まで指数関数的に増加します。接続ストームを回避するには、乱数係数 0.2 をタイムアウトに適用して、タイムアウトを計算値の上下 20% 以内のランダムな範囲にします。
型: long デフォルト: 30000(30 秒) 指定可能な値: 重要度: 中 -
socket.connection.setup.timeout.ms
クライアントがソケット接続の確立を待機する時間を指定します。タイムアウト時間が経過するまでに接続が確立しない場合、クライアントはソケットチャンネルを閉じます。
型: long デフォルト: 10000(10 秒) 指定可能な値: 重要度: 中 -
ssl.enabled.protocols
SSL 接続で有効なプロトコルのリスト。デフォルトは、Java 11 以降で実行する場合は「TLSv1.2,TLSv1.3」、それ以外の場合は「TLSv1.2」です。Java 11 の場合のデフォルト値では、クライアントとサーバーは TLSv1.3 を優先し(両方でサポートされている場合)、サポートされていない場合は TLSv1.2 にフォールバックします(両方で少なくとも TLSv1.2 がサポートされている場合)。このデフォルトは、ほとんどのケースに適しています。`ssl.protocol` の構成ドキュメントも参照してください。
型: list デフォルト: TLSv1.2 指定可能な値: 重要度: 中 -
ssl.keystore.type
キーストアファイルのファイルフォーマット。クライアントでは省略可能です。
型: string デフォルト: JKS 指定可能な値: 重要度: 中 -
ssl.protocol
SSLContext の生成に使用する SSL プロトコルです。デフォルトは、Java 11 以降で実行する場合は「TLSv1.3」、それ以外の場合は「TLSv1.2」です。この値は、ほとんどのユースケースに適しています。最新の JVM で使用できる値は、「TLSv1.2」および「TLSv1.3」です。古い JVM では「TLS」、「TLSv1.1」、「SSL」、「SSLv2」、および「SSLv3」がサポートされている場合もありますが、既知のセキュリティの脆弱性があるため、使用しないことをお勧めします。サーバーで「TLSv1.3」がサポートされていない場合は、この構成のデフォルト値と「ssl.enabled.protocols」によって、クライアントは「TLSv1.2」にダウングレードされます。この構成を「TLSv1.2」に設定した場合、ssl.enabled.protocols のいずれかの値が「TLSv1.3」で、サーバーで「TLSv1.3」のみがサポートされている場合でも、クライアントは「TLSv1.3」を使用しません。
型: string デフォルト: TLSv1.2 指定可能な値: 重要度: 中 -
ssl.provider
SSL 接続に使用するセキュリティプロバイダーの名前。デフォルト値は、JVM のデフォルトのセキュリティプロバイダーです。
型: string デフォルト: null 指定可能な値: 重要度: 中 -
ssl.truststore.type
トラストストアファイルのファイルフォーマット。
型: string デフォルト: JKS 指定可能な値: 重要度: 中 -
host.resolver.class
ホスト名の解決に使用するクラス
型: class デフォルト: org.apache.kafka.clients.DefaultHostResolver 指定可能な値: 重要度: 低 -
metadata.max.age.ms
ここで指定された期間(ミリ秒)が経過すると、メタデータが強制的に更新されます。これは、パーティションのリーダーシップに変更がなくても、新しいブローカーやパーティションがあれば積極的に検出できるようにするためです。
型: long デフォルト: 300000(5 分) 指定可能な値: [0,...] 重要度: 低 -
metric.reporters
Metrics Reporter として使用するクラスのリスト。
org.apache.kafka.common.metrics.MetricsReporter
インターフェイスを実装することで、新しいメトリック作成の通知を受けるクラスをプラグインすることができます。JMX 統計情報を登録するための JmxReporter が必ず含まれます。型: リスト デフォルト: "" 指定可能な値: 重要度: 低 -
metrics.num.samples
メトリクスの計算用に維持されるサンプルの数。
型: int デフォルト: 2 指定可能な値: [1,...] 重要度: 低 -
metrics.recording.level
メトリクスの最高記録レベル。
型: string デフォルト: INFO 指定可能な値: [INFO、DEBUG、TRACE] 重要度: 低 -
metrics.sample.window.ms
メトリクスサンプルが計算される時間枠。
型: long デフォルト: 30000(30 秒) 指定可能な値: [0,...] 重要度: 低 -
reconnect.backoff.max.ms
繰り返し接続に失敗しているブローカーに再接続する場合に待機するための、ミリ秒単位での最大時間。これを指定した場合は、連続して接続に失敗するたびに、ホストあたりのバックオフが、この最大値まで指数関数的に増加します。接続ストームを回避するため、バックオフ増加の計算後には 20% のランダムジッターが追加されます。
型: long デフォルト: 1000(1 秒) 指定可能な値: [0,...] 重要度: 低 -
reconnect.backoff.ms
特定のホストへの再接続を試行するまでの基本待機時間。これにより、ホストへの接続が短時間に何度も繰り返されることを回避できます。このバックオフは、クライアントによるブローカーへの接続のすべての試行に対して適用されます。
型: long デフォルト: 50 指定可能な値: [0,...] 重要度: 低 -
retries
ゼロより大きい値を設定すると、一時的なエラーという可能性で失敗したすべてのリクエストをクライアントが再送信します。この値を 0 または `MAX_VALUE` のいずれかに設定し、対応するタイムアウトパラメーターを使用して、クライアントがリクエストを再試行する時間を制御することをお勧めします。
型: int デフォルト: 2147483647 指定可能な値: [0,...,2147483647] 重要度: 低 -
retry.backoff.ms
失敗したリクエストを再試行するまでの待機時間。これにより、失敗シナリオでリクエストが短時間に繰り返し送信されることを回避できます。
型: long デフォルト: 100 指定可能な値: [0,...] 重要度: 低 -
sasl.kerberos.kinit.cmd
Kerberos の kinit コマンドパス。
型: string デフォルト: /usr/bin/kinit 指定可能な値: 重要度: 低 -
sasl.kerberos.min.time.before.relogin
更新試行から次の更新試行までの、ログインスレッドのスリープ時間。
型: long デフォルト: 60000 指定可能な値: 重要度: 低 -
sasl.kerberos.ticket.renew.jitter
更新時間に追加されたランダムジッターのパーセンテージ。
型: double デフォルト: 0.05 指定可能な値: 重要度: 低 -
sasl.kerberos.ticket.renew.window.factor
最後の更新からチケットの有効期限までの時間が指定のウィンドウ係数に達するまでの間、ログインスレッドはスリープ状態になります。この時間の経過後、チケットの更新が試行されます。
型: double デフォルト: 0.8 指定可能な値: 重要度: 低 -
sasl.login.refresh.buffer.seconds
認証情報の更新時に維持される認証情報の有効期限までのバッファ時間の長さ(秒単位)。バッファの秒数よりも有効期限に近い時点で、異なる形で更新が発生した場合、その更新は繰り上げられ、バッファ時間の長さの分だけ可能な限り維持されます。指定可能な値は 0 ~ 3600(1 時間)の間です。値が指定されていない場合は、300(5 分)のデフォルト値が使用されます。この値と sasl.login.refresh.min.period.seconds の合計が認証情報の残りの存続期間を超える場合は、その両方が無視されます。現時点では、OAUTHBEARER にのみ適用されます。
型: short デフォルト: 300 指定可能な値: [0,...,3600] 重要度: 低 -
sasl.login.refresh.min.period.seconds
ログイン更新スレッドが認証情報の更新まで待機する目的の最小時間(秒単位)。指定可能な値は 0 ~ 900(15 分)の間です。値が指定されていない場合は、60(1 分)のデフォルト値が使用されます。この値と sasl.login.refresh.buffer.seconds の合計が認証情報の残りの存続期間を超える場合は、その両方が無視されます。現時点では、OAUTHBEARER にのみ適用されます。
型: short デフォルト: 60 指定可能な値: [0,...,900] 重要度: 低 -
sasl.login.refresh.window.factor
認証情報の存続期間を基準とする指定のウィンドウ係数に達するまでの間、ログイン更新スレッドはスリープ状態になります。この時間の経過後、認証情報の更新が試行されます。指定可能な値は 0.5(50%)~ 1.0(100%)(1.0 を含む)の間です。値が指定されていない場合は、0.8(80%)のデフォルト値が使用されます。現時点では、OAUTHBEARER にのみ適用されます。
型: double デフォルト: 0.8 指定可能な値: [0.5,...,1.0] 重要度: 低 -
sasl.login.refresh.window.jitter
ログイン更新スレッドのスリープ時間に追加される認証情報の存続期間を基準とする、ランダムジッターの最大量。指定可能な値は 0 ~ 0.25(25%)(0.25 を含む)の間です。値が指定されていない場合は、0.05(5%)のデフォルト値が使用されます。現時点では、OAUTHBEARER にのみ適用されます。
型: double デフォルト: 0.05 指定可能な値: [0.0,...,0.25] 重要度: 低 -
security.providers
セキュリティアルゴリズムを実装するプロバイダーをそれぞれが返す構成可能な creator クラスのリスト。これらのクラスは
org.apache.kafka.common.security.auth.SecurityProviderCreator
インターフェイスを実装する必要があります。型: string デフォルト: null 指定可能な値: 重要度: 低 -
ssl.cipher.suites
暗号スイートのリストです。これは、認証、暗号化、MAC、およびキー交換アルゴリズムの名前付き組み合わせで、TLS または SSL ネットワークプロトコルを使用したネットワーク接続のセキュリティ設定をネゴシエートするために使用されます。デフォルトでは、使用可能なすべての暗号スイートがサポートされます。
型: リスト デフォルト: null 指定可能な値: 重要度: 低 -
ssl.endpoint.identification.algorithm
サーバー証明書を使用してサーバーホスト名を検証するエンドポイント識別アルゴリズム。
型: string デフォルト: https 指定可能な値: 重要度: 低 -
ssl.engine.factory.class
SSLEngine オブジェクトを提供する org.apache.kafka.common.security.auth.SslEngineFactory 型のクラス。デフォルト値は org.apache.kafka.common.security.ssl.DefaultSslEngineFactory
型: class デフォルト: null 指定可能な値: 重要度: 低 -
ssl.keymanager.algorithm
SSL 接続のキーマネージャーファクトリで使用されるアルゴリズム。デフォルト値は、Java 仮想マシン用に構成されているキーマネージャーファクトリアルゴリズムです。
型: string デフォルト: SunX509 指定可能な値: 重要度: 低 -
ssl.secure.random.implementation
SSL 暗号化操作に使用する SecureRandom PRNG 実装。
型: string デフォルト: null 指定可能な値: 重要度: 低 -
ssl.trustmanager.algorithm
SSL 接続のトラストマネージャーファクトリで使用されるアルゴリズム。デフォルト値は、Java 仮想マシン用に構成されているトラストマネージャーファクトリアルゴリズムです。
型: string デフォルト: PKIX 指定可能な値: 重要度: 低
注釈
このウェブサイトには、Apache License v2 の条件に基づいて Apache Software Foundation で開発されたコンテンツが含まれています。