2

Cloudera が提供する WordCount.java の例を実行しようとしています。以下のコマンドを実行しましたが、コマンドの下に置いた例外が発生しています。それで、どのように進めるかについて何か提案はありますか。Cloudera が提供するすべての手順を実行しました。

前もって感謝します。

hadoop jar ~/Desktop/wordcount.jar org.myorg.WordCount ~/Desktop/input
~/Desktop/output

エラー:

ERROR security.UserGroupInformation: PriviledgedActionException
as:root (auth:SIMPLE)
cause:org.apache.hadoop.mapred.InvalidInputException: Input path does
not exist: hdfs://localhost/home/rushabh/Desktop/input
Exception in thread "main"
org.apache.hadoop.mapred.InvalidInputException: Input path does not
exist: hdfs://localhost/home/rushabh/Desktop/input
        at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:194)
        at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:205)
        at org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:977)
        at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:969)
        at org.apache.hadoop.mapred.JobClient.access$500(JobClient.java:170)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:880)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:833)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:416)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1177)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:833)
        at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:807)
        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1248)
        at org.myorg.WordCount.main(WordCount.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:197)
4

6 に答える 6

2

Your input and output files should be at hdfs. Atleast input should be at hdfs.

use the following command:

hadoop jar ~/Desktop/wordcount.jar org.myorg.WordCount hdfs:/input

hdfs:/output

To copy a file from your linux to hdfs use the following command:

hadoop dfs -copyFromLocal ~/Desktop/input hdfs:/

and check your file using :

hadoop dfs -ls hdfs:/

Hope this will help.

于 2013-04-22T11:02:31.613 に答える
1

wordcount MapReduce コードを実行しようとすると、次のようなエラーが発生しました。

ERROR security.UserGroupInformation: PriviledgedActionException as:hduser cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/user/hduser/wordcount

入力パスと出力パスを /user/hduser/wordcount および /user/hduser/wordcount-output として wordcount MapReduce Java コードを実行しようとしました。このパスの前にcore-site.xmlから「fs.default.name」を追加したところ、完全に実行されました。

于 2012-10-18T10:28:48.933 に答える
1

エラーは、入力パスがローカルであることを明確に示しています。ローカル マシンではなく、HDFS 上の何かへの入力パスを指定してください。私の推測

hadoop jar ~/Desktop/wordcount.jar org.myorg.WordCount ~/Desktop/input
~/Desktop/output

に変更する必要があります

hadoop jar ~/Desktop/wordcount.jar org.myorg.WordCount <hdfs-input-dir>
<hdfs-output-dir>

注: MapReduce ジョブを実行するには、入力ディレクトリがローカルではなく HDFS にある必要があります。

お役に立てれば。

于 2013-10-30T02:23:18.837 に答える
1

そこで、次のコマンドを使用して入力フォルダーを HDFS に追加しました

hadoop dfs -put /usr/lib/hadoop/conf input/
于 2012-08-12T01:50:08.947 に答える
1

エラー メッセージには、「hdfs://localhost/home/rushabh/Desktop/input」というファイルが存在しないことが示されています。

使用するように指示した場所にファイルが存在することを確認してください。

ホスト名が正しいことを確認してください。ループバック IP アドレスに解決される可能性が最も高い「localhost」を使用しています。例: 127.0.0.1。それは常に「このホスト」を意味します...コードを実行しているマシンのコンテキストでは。

于 2012-08-12T01:15:35.890 に答える
0

hdfs 内のファイルの所有権を確認して、ジョブの所有者 (ルート) が入力ファイルに対する読み取り権限を持っていることを確認します。Cloudera は、ファイルスペースを表示するために使用できる hdfs ビューアーを提供します。Web ブラウザで localhost:50075 または {fqdn}:50075 を開き、[Browse the filesystem] をクリックして入力ディレクトリと入力ファイルを表示します。所有権フラグを確認してください。*nix ファイルシステムのように。

于 2012-08-22T14:19:00.587 に答える