2016-05-30 8 views
1

copyFromLocalコマンドまたはputコマンドを使用して、ローカルファイルをHDFSにコピーすることを理解します。私の質問は、ファイルをHDFSにコピーするコマンドを実行したい場合、クラスタ上になければならない場合です。 私は3つのノードクラスタをa1、a2、a3とし、a1をマスタノード、a2とa3をデータノードとします。 1.任意のファイルをデータノードにコピーするには、いずれかのノード(a1、a2またはa3)にログインする必要があります 2.クラスタ外の他の場所、たとえばx1マシンからデータノードにファイルをコピーするにはどうすればファイルをx1からクラスタにコピーしますか?ローカルファイルをhdfsにコピーする必要がありますか?

おかげ -Brijesh

+0

ところで、他の人があなたに与える答え(またはあなたの問題を解決できなかった理由についてのコメント)を受け入れることは礼儀正しいと考えられます。私はあなたが投稿した先の質問に対する回答を受け入れていないことに気付きました。 Stackoverflowユーザーがこの動作に気付くと、彼らはあなたの質問に納得していません。 – cabad

答えて

0

あなたはsshを使用してファイルをアップロードすることができます:ここで

cat your_local_file_to_upload | ssh [email protected]_HADOOP_GATEWAY "hadoop dfs -put - hadoopFolderName/file_name_in_hdfs"

を、YOUR_HADOOP_GATEWAYは、ノードの一つ、またはとして機能するように構成されているマシンのIPですハープ屋クラスターへのゲートウェイ

バイナリファイルでも機能します。

ファイルをダウンロードしたい場合、あなたは同様に、以下のことが可能です。また

ssh [email protected]_HADOOP_GATEWAY "hdfs dfs -cat src_path_in_HDFS " > local_dst_path

0

、クラスタと対話するためのREST APIであり、通常、同じ上で実行されますWebHDFSを見てみましょうhostを名前ノードとして使用します。

関連する問題