2017-02-20 1 views
0

私は10個のセブレータを持っていますが、それぞれは毎日約3G個のログファイルを生成します。私はhadoopチュートリアルを完了し、各マシンにそれぞれのhadoop(HDFS)をインストールしました。私が望むのは、map-reduceを使ってこれらのログを分析することです。複数のノードにまたがるログ用のHadoopハンドル

私の質問は、ハープでMPの毎日のログを有効にする方法ですか?私はそれぞれに行く必要がないように

>hadoop fs -put local_log_path /A/log_20170219.1 

、その後

>hadoop jar MR_path MP_driver_class /A/log_20170219.1 output_path. 

は、他のより効率的な方法があります:現在、サーバーAのために、私は手動でHDFSディレクトリにログファイルをコピーしますサーバーを作成し、新しく生成されたログを手動でDFSシステムにコピーしますか?コマンドfs -putには実際に大きなデータファイルがここに移動しますか?

答えて

1

あなたは見ることができますapache flumeは、設定に基づいてhdfsにサーバーログを格納するこの使用例に役立ちます。

0

これを達成する方法はたくさんあります。

1)通常の方法で使いたい場合は、distcpをチェックアウトすることができます。通常のputコマンドまたはcopyFromLocalコマンドよりも利点があります。 Distcpは単純に分散コピーです。 次に、distcpを実行するようにcronをスケジュールし、コピーが正常に終了したらjarを実行することができます。詳細情報については

: - https://hadoop.apache.org/docs/r1.2.1/distcp2.html

2)あなたはこの努力を削減し、ツールを使用する場合は、そのような水路、Splunkのように任意の摂取ツールを確認することができます。

関連する問題