hadoop jar ./HadoopTest01.jar cn.dataguru.hadoop.BaseStationDataPreprocess /user/hadoop/file/input /user/hadoop/file/output 2013-09-12 07-09-17-24
17/03/09 18:00:07 INFO impl.TimelineClientImpl: Timeline service address: http://hadoop001:8188/ws/v1/timeline/
17/03/09 18:00:08 INFO client.AHSProxy: Connecting to Application History server at hadoop001/172.16.13.224:10200
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://beh/user/hadoop/file/input already exists
at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146)
at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:267)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:140)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1297)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1294)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1656)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1294)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1315)
at cn.dataguru.hadoop.BaseStationDataPreprocess.run(BaseStationDataPreprocess.java:233)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at cn.dataguru.hadoop.BaseStationDataPreprocess.main(BaseStationDataPreprocess.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
一直报hdfs://beh/user/hadoop/file/input已经存在,这个里面有数据必须的存在啊,
应该是找不到这个路径吧。
因为我把程序里面的这俩路径写死,就可以了,
FileInputFormat.addInputPath( job, new Path("hadoop001:9000/user/hadoop/file/input") );
FileOutputFormat.setOutputPath( job, new Path("hadoop001:9000/user/hadoop/file/output") );
可是这样的话是不是就成了单机版的了,不是集群模式了。
该怎么改一下???
|
|