2016-11-30 2 views
0

flumeを使用してデータをKafkaからHDFSに移動するためのflumeパイプラインを作成しました。私はロールオーバーサイズを150 MBに設定しており、ロールオーバーが正しく行われます。rolloverSizeが150 MBに設定されている場合、数秒ごとにFlumeメッセージを表示します。

しかし、私はメッセージをHDFSファイルに頻繁に書きたいのですが、現在のメッセージはバッファに保存され、150MBのサイズに達するとフラッシュされます。基本的には、ほぼリアルタイムでHDFSに書き込まれたmsessagesを取得し、150MBに達するとファイルをロールオーバーしたいと思います。

batchSizeプロパティを設定しようとしましたが、大した助けがありませんでした。

上記の要件は、flumeで実装することは可能ですか?

答えて

1

hdfs.rollIntervalはあなたのflume confで設定する必要があります。このパラメータは、指定された秒数ごとにチャネルをhdfsにフラッシュするようFlumeに指示します。したがって、この値をケースで可能な最小間隔に設定します。

+0

しかし、これは非常に小さなファイルを作成し、レコード数が非常に少なくなるため、hdfs内のブロックサイズが占有されます。 –

+0

@コミュニティ:メッセージをすばやくフラッシュする方法はありますが、ロールオーバーは150MB /秒で行われるはずです。 –

関連する問題