代码如下所示
环境hadoop2.8.0
package com.qf.gmall.orderStatus;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import java.io.IOException;
public class OrderStatusDriver {
static {
System.setProperty("hadoop.home.dir","A:\\hadoop-2.8.0");
System.load("A:\\hadoop-2.8.0\\bin\\hadoop.dll");
}
public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException {
Configuration configuration = new Configuration();
Job job = Job.getInstance(configuration);
//关联类
job.setJarByClass(OrderStatusDriver.class);
job.setMapperClass(OrderStatusMapper.class);
job.setReducerClass(OrderStatusReduce.class);
//设置map阶段输出类型
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job,new Path("hdfs://192.168.221.3:9000/gmall1_data/order_info/data/2023-05-25"));
FileOutputFormat.setOutputPath(job,new Path("hdfs://192.168.221.3:9000/out"));
job.waitForCompletion(true);
}
}
报错显示:

已尝试:
Hadoop的jar包版本与Hadoop集群一致
重新启动hadoop集群
集群配置文件均正常配置