5.9. Hadoop Distributed File System
5.9.1. camel-hdfs-kafka-connector シンク設定 リンクのコピーリンクがクリップボードにコピーされました!
コネクターの説明: Hadoop 2.x を使用して、HDFS ファイルシステムの読み取りと書き込みを行います。
camel-hdfs-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-hdfs-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.hdfs.CamelHdfsSinkConnector
camel-hdfs シンクコネクターは、以下に示す 30 のオプションをサポートします。
| 名前 | 説明 | デフォルト | 必要性 | 優先順位 |
|---|---|---|---|---|
| camel.sink.path.hostName | 使用する HDFS ホスト | null | true | HIGH |
| camel.sink.path.port | 使用する HDFS ポート | 8020 | false | MEDIUM |
| camel.sink.path.path | 使用するディレクトリーパス | null | true | HIGH |
| camel.sink.endpoint.connectOnStartup | プロデューサー/コンシューマーの起動時に HDFS ファイルシステムに接続するかどうか。false の場合、接続はオンデマンドで作成されます。HDFS は 45 x 20 秒の再配信をハードコーディングしているため、接続を確立するのに最大 15 分かかる場合があることに注意してください。このオプションを false に設定すると、アプリケーションが起動し、最大 15 分間ブロックされなくなります。 | true | false | MEDIUM |
| camel.sink.endpoint.fileSystemType | HDFS を使用せず、代わりにローカルの java.io.File を使用するには、LOCAL に設定します。One of: [LOCAL] [HDFS] | "HDFS" | false | MEDIUM |
| camel.sink.endpoint.fileType | 使用するファイルの種類。詳細については、さまざまなファイルタイプに関する Hadoop HDFS のドキュメントを参照してください。次のいずれか: [NORMAL_FILE] [SEQUENCE_FILE] [MAP_FILE] [BLOOMMAP_FILE] [ARRAY_FILE] | "NORMAL_FILE" | false | MEDIUM |
| camel.sink.endpoint.keyType | シーケンスまたはマップファイルの場合のキーのタイプ。次のいずれか: [NULL] [BOOLEAN] [BYTE] [INT] [FLOAT] [LONG] [DOUBLE] [TEXT] [BYTES] | "NULL" | false | MEDIUM |
| camel.sink.endpoint.namedNodes | 名前付きノードのコンマ区切りリスト (例: srv11.example.com:8020,srv12.example.com:8020) | null | false | MEDIUM |
| camel.sink.endpoint.owner | コンシューマーがファイルを取得するには、ファイルの所有者がこの所有者と一致する必要があります。それ以外の場合、ファイルはスキップされます。 | null | false | MEDIUM |
| camel.sink.endpoint.valueType | シーケンスまたはマップファイルの場合のキーのタイプ: [NULL] [BOOLEAN] [BYTE] [INT] [FLOAT] [LONG] [DOUBLE] [TEXT] [BYTES] のいずれか | "BYTES" | false | MEDIUM |
| camel.sink.endpoint.append | 既存のファイルに追加します。すべての HDFS ファイルシステムが追加オプションをサポートしているわけではないことに注意してください。 | false | false | MEDIUM |
| camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
| camel.sink.endpoint.overwrite | 同名の既存ファイルを上書きするかどうか | true | false | MEDIUM |
| camel.sink.endpoint.blockSize | HDFS ブロックのサイズ | 67108864L | false | MEDIUM |
| camel.sink.endpoint.bufferSize | HDFS が使用するバッファーサイズ | 4096 | false | MEDIUM |
| camel.sink.endpoint.checkIdleInterval | アイドルチェッカーバックグラウンドタスクを実行する頻度 (ミリ秒単位)。このオプションは、スプリッタ戦略が IDLE の場合にのみ使用されます。 | 500 | false | MEDIUM |
| camel.sink.endpoint.chunkSize | 通常のファイルを読み取る場合、これはチャンクに分割され、チャンクごとにメッセージが生成されます。 | 4096 | false | MEDIUM |
| camel.sink.endpoint.compressionCodec | 使用する圧縮コーデック [DEFAULT] [GZIP] [BZIP2] のいずれか | "DEFAULT" | false | MEDIUM |
| camel.sink.endpoint.compressionType | 使用する圧縮タイプ (デフォルトでは使用されていません) 次のいずれか: [NONE] [RECORD] [BLOCK] | なし | false | MEDIUM |
| camel.sink.endpoint.openedSuffix | ファイルが読み取り/書き込み用に開かれると、ファイルはこの接尾辞で名前が変更され、書き込みフェーズ中に読み取られないようにします。 | "opened" | false | MEDIUM |
| camel.sink.endpoint.readSuffix | ファイルが読み取られると、この接尾辞を使用して名前が変更され、再度読み取られることがなくなります。 | "read" | false | MEDIUM |
| camel.sink.endpoint.replication | HDFS レプリケーション係数 | 3 | false | MEDIUM |
| camel.sink.endpoint.splitStrategy | 現在のバージョンの Hadoop では、ファイルを追加モードで開くことは信頼性が低いため無効になっています。そのため、現時点では、新しいファイルを作成することしかできません。Camel HDFS エンドポイントは、この問題を次のように解決しようとします。分割戦略オプションが定義されている場合、hdfs パスがディレクトリーとして使用され、設定された UuidGenerator を使用してファイルが作成されます。分割条件が満たされるたびに、新しいファイルが作成されます。splitStrategy オプションは、次の構文の文字列として定義されます。value MESSAGES 新しいファイルが作成され、書き込まれたメッセージの数が value ミリ秒を超えると古いファイルが閉じられます IDLE 新しいファイルが作成され、最後の value ミリ秒内に書き込みが発生しなかった場合に古いファイルが閉じられます | null | false | MEDIUM |
| camel.sink.endpoint.kerberosConfigFileLocation | kerb5.conf ファイルの場所 (https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html) | null | false | MEDIUM |
| camel.sink.endpoint.kerberosKeytabLocation | Kerberos ノードでの認証に使用されるキータブファイルの場所 (Kerberos プリンシパルと暗号化されたキー (Kerberos パスワードから派生) のペアを含む) | null | false | MEDIUM |
| camel.sink.endpoint.kerberosUsername | Kerberos ノードでの認証に使用されるユーザー名 | null | false | MEDIUM |
| camel.component.hdfs.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
| camel.component.hdfs.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
| camel.component.hdfs.jAASConfiguration | 指定された設定を JAAS でのセキュリティーに使用するため。 | null | false | MEDIUM |
| camel.component.hdfs.kerberosConfigFile | kerberos 認証を使用するには、java.security.krb5.conf 環境変数の値を既存のファイルに設定します。環境変数がすでに設定されている場合、指定されたパラメーターと異なる場合に警告する | null | false | MEDIUM |
camel-hdfs シンクコネクターには、すぐに使用できるコンバータはありません。
camel-hdfs シンクコネクターには、すぐに使える変換はありません。
camel-hdfs シンクコネクターには、すぐに使用できる集約戦略はありません。