从远程系统提交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不能。
请帮忙 ..
其实这是我的配置错误:
我错过了 mapred-site.xml中的* mapred.local.dir 属性 *
<property> <name>mapred.local.dir</name> <value>/usr/local/hadoop-1.0.3/local</value> </property>