このトピックでは、Taildir Source、File Channel、および HDFS Sink コンポーネントのいくつかの共通パラメーターについて説明します。これらのパラメーターを調整して、Flume のパフォーマンスを最適化できます。
Taildir Source
パラメーター | 説明 |
filegroups | ディレクトリを複数のディレクトリに分割して、Taildir Source の読み取り並列性を高めます。 |
batchSize | デフォルト値:100。同時に読み取られるデータ行の数。スループットを向上させるには、このパラメーターの値を増やします。 |
File Channel
パラメーター | 説明 |
checkpointInterval | デフォルト値:30。単位:秒。チェックポイント間隔を短縮するには、このパラメーターの値を減らします。 |
useDualCheckpoints | デフォルト値:false。File Channel でチェックポイントのバックアップを有効にするには、このパラメーターを true に設定します。これにより、チャネルの再起動時に、チャネルは最初からイベントを読み取る必要がなくなります。 |
maxFileSize | デフォルト値:1.6。単位:GB。データファイルの最大サイズ。 ファイルのローリングを高速化するには、このパラメーターの値を減らします。これにより、より多くのディスク容量が解放されます。 |
capacity | デフォルト値:1000000。File Channel が保持できるイベントの最大数。 スループットを向上させるには、このパラメーターの値を増やします。また、このパラメーターの値に単一イベントのサイズを掛けて、ディスク使用量を推定することもできます。 |
transactionCapacity | デフォルト値:10000。File Channel の単一トランザクションにおけるイベントの最大数。 |
HDFS Sink
パラメーター | 説明 |
hdfs.batchSize | デフォルト値:100。ファイルが HDFS にロールされる前にファイルに書き込まれるイベントの数。 スループットを向上させるには、このパラメーターの値を増やします。 説明 このパラメーターは、Taildir Source の batchSize パラメーターと同じ値に設定することをお勧めします。2 つのパラメーターの値が、File Channel の transactionCapacity パラメーターの値を超えないようにしてください。 |
hdfs.threadsPoolSize | デフォルト値:10。HDFS I/O スレッドの数。ノード構成に基づいてこのパラメーターを調整できます。 |
hdfs.useLocalTimeStamp | デフォルト値:false。ローカルタイムスタンプを使用するかどうかを指定します。 イベントのヘッダーにタイムスタンプを追加するには、このパラメーターを true に設定します。 |
hdfs.rollInterval | デフォルト値:30。単位:秒。一時ファイルが最終ファイルにロールされる間隔。 このパラメーターを 0 に設定すると、HDFS Sink は間隔に基づいてファイルをロールしません。 |
hdfs.rollSize | デフォルト値:1024。単位:バイト。ファイルのサイズがこのパラメーターの値に達すると、HDFS Sink はファイルを最終ファイルにロールします。 このパラメーターを 0 に設定すると、HDFS Sink はファイルサイズに基づいてファイルをロールしません。 |
hdfs.rollCount | デフォルト値:10。ファイルに書き込まれるイベントの数がこのパラメーターの値に達すると、HDFS Sink はファイルを最終ファイルにロールします。 このパラメーターを 0 に設定すると、HDFS Sink はイベント数に基づいてファイルをロールしません。 |
hdfs.minBlockReplicas | HDFS ファイルブロックごとのレプリカの最小数。デフォルト値は、HDFS レプリケーション係数です。 ほとんどの場合、HDFS Sink は、このパラメーターが 1 に設定されている場合にのみファイルを適切にロールできます。 |