jar包是从eclipse中导出的,代码没有问题,在Windows下可以正确运行。
在Linux下用脚本运行,出现问题。
脚本内容:
jar包main方法:
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
Job job = Job.getInstance(conf);
job.setJarByClass(AppLogDataClean.class);
job.setMapperClass(AppLogDataCleanMapper.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(NullWritable.class);
job.setNumReduceTasks(0);
// 避免生成默认的part-m-00000等文件,因为,数据已经交给MultipleOutputs输出了
LazyOutputFormat.setOutputFormatClass(job, TextOutputFormat.class);
FileInputFormat.setInputPaths(job, new Path("E:/educ/infile/20170816new"));
FileOutputFormat.setOutputPath(job, new Path("E:/educ/outfile/LogTest2/clean"));
boolean res = job.waitForCompletion(true);
System.exit(res ? 0 : 1);
}
配置文件应该也都没问题,之前所有业务都能正常操作,所以现在应该怎么解决?
求助大神