web-dev-qa-db-ja.com

Flumeを使用した既存のログファイルの処理

データを抽出する必要のあるログファイルのセットがたくさんあります。 Flumeを使用してこれらのファイルを読み取り、HDFS(Cassandra、または別のデータソース)にダンプしてクエリを実行することはできますか?

ドキュメントは、それがすべてライブイベントベースのログ処理であることを示唆しているようです。フルームにディレクトリから静的ログファイルを読み取らせて処理させるための明らかなプロセスが欠けているのではないかと思います。

1
duckus

はい、これは水路の標準的な使用例です。

ログファイルのあるサーバーはflume-nodeを実行し、別の(または同じ可能性がある)サーバーはflume-masterを実行します。 flume-nodesはflume-masterを検出し、flume-masterから次のようなコマンドを実行できます。

exec config my-config 'tail("/path/to/logfile")' 'collectorSink("hdfs://path/to/hdfs-folder", [options])'

これにより、ファイルへのアクセス方法(ファイル全体をテールまたは読み取り可能、他のオプションを使用可能)とファイルの配置場所を水路に指示する構成が作成されます。

次に、特定のサーバーで構成を指定する必要があります。

exec map (server-hostname) my-config

水路のユーザーガイドに詳細があります: http://archive.cloudera.com/cdh/3/flume/UserGuide/index.html

1
Jeff Wu