Apache-flume-sequence-generator-source
Apache Flume-シーケンスジェネレーターソース
前の章で、twitterソースからHDFSにデータを取得する方法を見てきました。 この章では、 Sequence generator からデータを取得する方法について説明します。
前提条件
この章で提供される例を実行するには、 HDFS と Flume をインストールする必要があります。 したがって、先に進む前に、Hadoopのインストールを確認し、HDFSを開始してください。 (HDFSの起動方法については、前の章を参照してください)。
Flumeの構成
シーケンスジェネレーターソース
イベントを継続的に生成するのはソースです。 0から始まり1ずつ増加するカウンターを維持します。 テスト目的で使用されます。 このソースを設定している間、次のプロパティに値を提供する必要があります-
- チャンネル
- ソースタイプ-seq
チャネル
- type -チャネルのタイプを保持します。 この例では、タイプはMemChannelです。
- 容量-チャネルに保存されるイベントの最大数です。 デフォルト値は100です。 (オプション)
- TransactionCapacity -チャネルが受け入れるまたは送信するイベントの最大数です。 デフォルトは100です。 (オプション)。
HDFSシンク
このシンクはデータをHDFSに書き込みます。 このシンクを設定するには、次の詳細を提供する必要があります。
- チャネル
- タイプ-hdfs
- hdfs.path -データが保存されるHDFSのディレクトリのパス。
そして、シナリオに基づいていくつかのオプションの値を提供できます。 以下に示すのは、アプリケーションで構成しているHDFSシンクのオプションのプロパティです。
- fileType -これは、HDFSファイルに必要なファイル形式です。 SequenceFile、DataStream 、および CompressedStream は、このストリームで使用できる3つのタイプです。 この例では、 DataStream を使用しています。
- writeFormat -テキストまたは書き込み可能。
- batchSize -HDFSにフラッシュされる前にファイルに書き込まれるイベントの数です。 デフォルト値は100です。
- rollsize -ロールをトリガーするファイルサイズです。 デフォルト値は100です。
- rollCount -ロールされる前にファイルに書き込まれたイベントの数です。 デフォルト値は10です。
例–構成ファイル
以下に、構成ファイルの例を示します。 このコンテンツをコピーして、Flumeのconfフォルダーに seq_gen .conf として保存します。
実行
Flumeホームディレクトリを参照し、以下に示すようにアプリケーションを実行します。
すべてが順調に進むと、ソースはシーケンス番号の生成を開始し、ログファイルの形式でHDFSにプッシュされます。
以下は、シーケンスジェネレーターによって生成されたデータをHDFSにフェッチするコマンドプロンプトウィンドウのスナップショットです。
HDFSの検証
次のURLを使用して、Hadoop管理Web UIにアクセスできます-
ページの右側にある Utilities という名前のドロップダウンをクリックします。 以下の図に示すように、2つのオプションがあります。
[*ファイルシステムの参照]をクリックし、シーケンスジェネレーターによって生成されたデータを保存したHDFSディレクトリのパスを入力します。
この例では、パスは /user/Hadoop/seqgen_data/ になります。 次に、以下に示すように、HDFSに保存されているシーケンスジェネレーターによって生成されたログファイルのリストを確認できます。
ファイルの内容の検証
これらのすべてのログファイルには、順次形式の番号が含まれています。 以下に示す cat コマンドを使用して、ファイルシステム内のこれらのファイルの内容を確認できます。