# tKafkaConfiguration

再利用可能なKafka接続を開いて設定します。

tKafkaConfigurationコンポーネントは、指定されたKafkaクラスターへの接続を開き、サブジョブ内の他のKafkaコンポーネントがこの接続を再利用できるようにします。

## Apache Spark StreamingのtKafkaConfigurationプロパティ

これらのプロパティは、Spark Streamingジョブのフレームワークで実行されているtKafkaConfigurationを設定するために使われます。

標準のtKafkaConfigurationコンポーネントは、インターネットファミリーに属しています。

このフレームワーク内のコンポーネントは、Talend Real-Time Big Data PlatformおよびTalend Data Fabricで利用できます。

情報メモ重要: Spark Streamingジョブの場合、Talend StudioはKafkaの特定のバージョンをサポートしておらず、Sparkが提供するKafkaブローカーのバージョン互換性に依存しています。サポートされているKafkaブローカーのバージョンは、使用するSparkのバージョンによって異なります。Sparkの各バージョンについて、Talend Studioは、Sparkが提供するKafkaブローカーのターゲットバージョンをサポートしています。現在のところ、Talend StudioはSparkとの互換性声明に依存しているため、Kafkaブローカーのバージョン0.10.0以降をサポートしています。詳細は、Sparkの公式ドキュメンテーションで[Spark Streaming + Kafka Integration Guide](https://spark.apache.org/docs/latest/streaming-kafka-integration.html)をご覧ください。

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Broker list] (ブローカーリスト) | 使用するKafkaクラスターのブローカーノードのアドレスを入力します。<br><br>このアドレスの形式は*hostname:port*です。この情報は、このKafkaクラスター内のホスティングノードの名前とポートです。<br><br>複数のアドレスを指定する必要がある場合は、コンマ(*,*)で区切ります。 |
| [Use SSL/TLS] (SSL/TLSを使用) | SSLまたはTLS暗号化接続を有効にする場合は、このチェックボックスをオンにします。<br><br>次に、同じジョブ内のtSetKeyStoreコンポーネントを使用して暗号化情報を指定する必要があります。<br><br>このチェックボックスはKafka 0.9.0.1以降で使えます。 |
| [Use Kerberos authentication] (Kerberos認証を使用) | 使用するKafkaクラスターをKerberosで保護する場合は、このチェックボックスをオンにして、定義する関連パラメーターを表示します。<br><br><ul> <li> <p> <span>JAAS configuration path (JAAS設定パス)</span>: パスを入力するか、Kafkaへのクライアントの認証を実行するジョブによって使われるJAAS設定ファイルを参照します。</p> <p>このJAASファイルには、kinitモードまたはkeytabモードのいずれかを使用して、クライアント(<em><span>Talend</span></em>によるKafka関連ジョブ)をKafkaブローカーノードに接続する方法が指定されています。JAASファイルは、これらのジョブが実行されるマシンに保管されている必要があります。</p> <p> <em><span>Talend</span></em>、Kerberos、またはKafkaはこのJAASファイルを提供していません。ユーザーの組織のセキュリティ戦略に応じて、<a href="http://kafka.apache.org/documentation.html#security_sasl_clientconfig" target="_blank">Configuring Kafka client</a>の説明に従ってJAASファイルを作成する必要があります。</p> </li> <li> <p> <span>Kafka brokers principal name (Kafkaブローカーのプリンシパル名)</span>: ブローカークラスターの作成時にブローカーのために定義したKerberosのプリンシパルの主要部分を入力します。たとえば<em>kafka/kafka1.hostname.com@EXAMPLE.COM</em>というプリンシパルの場合、このフィールドへの入力に使用する主要部分は<em>kafka</em>になります。</p> </li> <li> <p> <span>Set kinit command path (kinitコマンドパス)</span>: Kerberosは、そのkinit実行可能ファイルへのデフォルトのパスを使用します。このパスを変更した場合は、このチェックボックスをオンにしてカスタムアクセスパスを入力します。</p> <p>このチェックボックスをオフにする場合は、デフォルトのパスが使用されます。</p> </li> <li> <p> <span>Set Kerberos configuration path (Kerberos設定パス)</span>: Kerberosは、たとえば、Kerberos 5の設定ファイルである<em>krb5.conf</em>ファイル(または、Windowsの場合は<em>krb5.ini</em>)へのデフォルトのパスを使用します。このパスを変更した場合は、このチェックボックスをオンにして、Kerberos設定ファイルへのカスタムアクセスパスを入力します。</p> <p>このチェックボックスをオフにすると、必要な設定情報を見つけるために、Kerberosによって所定の戦略が適用されます。この戦略の詳細は、<a href="http://docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html" target="_blank">Kerberos requirements</a>で<em>Locating the krb5.conf Configuration File</em>をご覧ください。</p> </li> </ul><br><br>KafkaクラスターをKerberosで保護する方法は、[SASLを使用した認証](http://kafka.apache.org/documentation.html#security_sasl)をご覧ください。<br><br>このチェックボックスはKafka 0.9.0.1以降で使えます。 |
| [Use Schema Registry] (スキーマレジストリーを使用) | このチェックボックスをオンにすると、Confluent Schema Registryが使用され、定義する次の関連パラメーターが表示されます。<br><br><ul> <li> <span>URL</span>: スキーマレジストリインスタンスURLを入力します。</li> <li> <span>[Basic authentication] (基本認証)</span>: このチェックボックスをオンにして<span>[Username] (ユーザー名)</span>と<span>[Password] (パスワード)</span>に認証情報を入力します。</li> <li> <span>[Use the keystore of Kafka broker] (Kafkaブローカーのキーストアを使用)</span>: Kafkaブローカーで使われるものと同じtSetKeystoreコンポーネントを使ってSSLまたはTLSによる暗号化接続を有効にする場合は、このチェックボックスをオンにします。このチェックボックスは、<span>[Use SSL/TLS] (SSL/TLSを使用)</span>チェックボックスをオンにし、<span>[Set schema registry keystore] (スキーマレジストリーのキーストアを設定)</span>をオフにすると使用できます。</li> <li> <span>[Set schema registry keystore] (スキーマレジストリーのキーストアを設定)</span>: このチェックボックスをオンにすると、SSLまたはTLS暗号化接続が有効になります。次に、同じジョブ内の<span>tSetKeystore</span>コンポーネントを使用して暗号化情報を指定する必要があります。</li> </ul><br><br>スキーマレジストリーの詳細は、[Confluentのドキュメンテーション](https://docs.confluent.io/platform/current/schema-registry/index.html)をご覧ください。<br><br>このオプションは、Talendが提供する8.0.1-R2022-12以降のTalend Studioマンスリーアップデートをインストール済みである場合に利用できます。詳細は管理者にお問い合わせください。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Connection pool] (接続プール) | このエリアでは、各Sparkエグゼキューターに、同時に開いたままにする接続の数を制御するための接続プールを設定します。以下の接続プールパラメーターに与えられているデフォルト値は、ほとんどのユースケースでそのまま利用できます。<br><br><ul> <li> <p> <span>[Max total number of connections] (接続の最大合計数)</span>: 同時に開いたままにしておくことができる接続(アイドルまたはアクティブ)の最大数を入力します。</p> <p>デフォルトの数は<em>8</em>です。<em>-1</em>を入力すると、同時に開いておける接続の数が無制限となります。</p> </li> <li> <p> <span>[Max waiting time (ms)] (最大待機時間(ミリ秒))</span>: 接続使用の要求に対して接続プールからレスポンスが返されるまでの最大待機時間を入力します。デフォルトでは-1(無制限)となっています。</p> </li> <li> <p> <span>[Min number of idle connections] (アイドル接続の最小数)</span>: 接続プール内に維持されるアイドル接続(使用されていない接続)の最小数を入力します。</p> </li> <li> <p> <span>[Max number of idle connections] (アイドル接続の最大数)</span>: 接続プール内に維持されるアイドル接続(使用されていない接続)の最大数を入力します。</p> </li> </ul> |
| [Evict connections] (接続を無効化) | 接続プール内の接続を破棄する条件を定義するには、このチェックボックスをオンにします。オンにすると、以下のフィールドが表示されます。<br><br><ul> <li> <p> <span>[Time between two eviction runs] (2つの削除実行の間隔)</span>: コンポーネントが接続のステータスを確認し、アイドル状態の接続を破棄するまでの間隔(ミリ秒)を入力します。</p> </li> <li> <p> <span>[Min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでの最小アイドル時間)</span>: アイドル接続が破棄されるまでの間隔(ミリ秒)を入力します。</p> </li> <li> <p> <span>[Soft min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでのソフト最小アイドル時間)</span>: このパラメーターの機能は<span>[Min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでの最小アイドル時間)</span>と同じですが、<span>[Min number of idle connections] (アイドル接続の最小数)</span>フィールドで定義したアイドル接続の最小数が維持されます。</p> </li> </ul> |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、他のKafkaコンポーネントが再利用できるKafka接続を作成するために、スタンドアロンで使います。 |