1

リモート システムから mapreduce ジョブを送信中に例外が発生しました

13/10/28 18:49:52 エラー security.UserGroupInformation: PriviledgedActionException as: 根本原因: org.apache.hadoop.mapred.InvalidInputException: 入力パスが存在しません: ファイル:/F:/Workspaces/Test/Hadoop/test

私の Hadoop と mapreduce 環境は、Linux マシンで構成されています。次のように、ローカルの Windows PC から wordcount ジョブを送信します。

public static void main(String[] args) throws Exception {

    UserGroupInformation ugi = UserGroupInformation.createRemoteUser("root");

    try {
        ugi.doAs(new PrivilegedExceptionAction<Void>() {

            public Void run() throws Exception {

                JobConf conf = new JobConf(MapReduce.class);
                conf.set("mapred.job.name", "MyApp");
                conf.set("mapred.job.tracker", "192.168.1.149:9001");
                conf.set("fs.default.name","hdfs://192.168.1.149:9000");
                conf.set("hadoop.job.ugi", "root");

                conf.setOutputKeyClass(Text.class);
                conf.setOutputValueClass(IntWritable.class);

                conf.setMapperClass(Map.class);
                conf.setCombinerClass(Reduce.class);
                conf.setReducerClass(Reduce.class);

                conf.setInputFormat(TextInputFormat.class);
                conf.setOutputFormat(TextOutputFormat.class);

                FileInputFormat.setInputPaths(conf, new Path("test"));
                FileOutputFormat.setOutputPath(conf, new Path("test"));

                JobClient.runJob(conf);

                return null;
            }
        });
    } catch (Exception e) {
        e.printStackTrace();
    }
}

ここで、192.168.1.149 は Hadoop 構成の Linux PC です。そこにhadoop、mapreduceサービスを始めました。また、テストディレクトリも同じJava APIで作成され、動作しました。しかし mapreduce ではありません。

**助けてください .. **

4

1 に答える 1

0

実際、それは私の設定ミスでした:

mapred -site.xmlにmapred.local.dirプロパティがありませんでした

 

<property> <name>mapred.local.dir</name> <value>/usr/local/hadoop-1.0.3/local</value> </property>
于 2013-10-29T05:21:56.090 に答える