从远程系统提交 mapReduce 作业时出现异常



>我在从远程系统提交mapreduce作业时遇到异常

28-13-10 18:49:52 错误安全。UserGroupInformation: PriviledgedActionException as:根本原因:org.apache.hadoop.mapred.InvalidInputException: 输入路径不存在: file:/F:/Workspaces/Test/Hadoop/test

我的Hadoop和mapreduce环境是在Linux机器上配置的。我从本地 Windows PC 提交字数统计作业,如下所示:

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创建的,它有效。但不是。

**请帮忙.. **

实际上这是我的配置错误:

我错过了mapred-site中的mapred.local.dir属性.xml

 

<property> <name>mapred.local.dir</name> <value>/usr/local/hadoop-1.0.3/local</value> </property>

最新更新