小编典典

从远程系统提交mapreduce作业时发生异常

java

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

13/10/28 18:49:52错误security.UserGroupInformation:PriviledgedActionException
as:根本原因:org.apache.hadoop.mapred.InvalidInputException:输入路径不存在:file:/ 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,在那里减少了服务。另外 测试 目录也有相同的Java
API创建的,它的工作。但是mapreduce不能。

请帮忙 ..


阅读 252

收藏
2020-11-30

共1个答案

小编典典

其实这是我的配置错误:

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

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