2016-08-14 9 views
0

私は次のリンク使用して、今のHadoopをインストールしている:私は、スタンドアローンとしてのHadoopプラットフォームをインストールし、設定に関する質問を持ってのインストールとスタンドアロンモードでのHadoop 2.7.2を設定

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

をモード。

次のように、スタンドアロン動作では、このサイトの書き込みコマンドを入力ファイルを作るまず:

$ mkdir input 
$ cp etc/hadoop/*.xml input 
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+' 
$ cat output/* 

この処理は何か?実行例??

と私はそれらのコマンドを発行して下の画像に表示されているように、私はエラーを得た:

enter image description here

問題が何でありますか?

+1

、私はあなたが疑似スタンドアロンセクションのためのXMLファイルを信頼できない使用と思います。 –

答えて

0

この処理は何ですか?実行例??

これらのコマンドはちょうどあなたが&が正しくセットアップを構成しインストールされていることを確認するためのHadoop jarファイルで使用可能な事前定義された例を実行して、真剣にというよりも、何も処理しませんでした。

としては、ディレクトリに"/"実行中に次のコマンドであったと仮定する:

1)$ mkdir input:ルートディレクトリの下に入力というディレクトリを作成/

2) $ cp etc/hadoop/*.xml入力:hadoop confファイル(* .xml)を/etc/hadoopから/ inputにコピーする

3)$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'

hadoopライブラリに同梱のサンプルクラスを実行しています。この例では、パラメータがDFSディレクトリ/入力の下にあるすべてのHadoopのXMLのconfファイルからで始まり、(暗黙的に実行の一部としてのHadoopによって作成されたディレクトリ/出力に結果を書き込み抽出ん)。

4)$ cat output/*:このコマンドは、端末のディレクトリ/出力の下にあるすべてのファイルの内容を表示します。

何が問題ですか?

ここで直面している問題は「入力パス」です。道は漠然としており、ハープで解決されていない。 standaloneモードとしてhadoopを実行していることを確認してください。そして最後に、次のように(入力と出力の両方に)絶対パスを与えることによって、例を実行します。エラーに基づいて

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep /input /output 'dfs[a-z.]+'

+0

HDFSでは、入力と出力に先頭のスラッシュを追加すると違いがあります。 'mkdir input'はカレントディレクトリのローカルファイルシステム上のディレクトリを作成しますが、Hadoop jarはHDFSパスを期待します –

+0

はい、**/**はhadoopのルートコンテキストを意味します。しかし、上記のシナリオでは、すべてのコマンドが実行され、入力/出力がローカルファイルシステム上にマップされているため、hdfsは直接使用されませんでした。 –

+0

あなたは答えを更新したいと思うかもしれません。あなたが*ルートディレクトリ*の下にあるinputと呼ばれるディレクトリを作成したと言われているからです。実際には現在のフォルダです。 HDFSでエラー画像を見るとHDFSパスが使用され、/ user/root/inputパスが見つかりません* –

関連する問題