连接hadoop为什么显示No FileSystem for scheme: hdfs,

代码如下所示
环境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);
    }
}

报错显示:

img

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

"No FileSystem for scheme: hdfs"错误通常是由于Hadoop配置不正确或者Hadoop服务未启动导致的。以下是一些可能的解决方法:

检查Hadoop配置:请确保Hadoop的配置正确,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等配置文件。特别是,需要确保core-site.xml中的fs.defaultFS属性设置为hdfs://namenode:port,其中namenode是Hadoop的NameNode主机名或IP地址,port是Hadoop的NameNode端口号。

检查Hadoop服务是否启动:请确保Hadoop服务已经启动,包括NameNode、DataNode、ResourceManager和NodeManager等服务。可以使用jps命令来检查Hadoop服务是否启动,例如jps | grep NameNode。

检查Hadoop版本:请确保使用的Hadoop版本与代码中使用的Hadoop版本一致。如果版本不一致,可能会导致No FileSystem for scheme: hdfs错误。

检查Hadoop依赖库:请确保代码中使用的Hadoop依赖库正确,包括hadoop-common、hadoop-hdfs、hadoop-mapreduce-client-core和hadoop-yarn-client等库。

如果以上方法都无法解决问题,建议检查Hadoop的日志文件,查看是否有其他错误信息。可以在Hadoop的日志目录中查找相关日志文件,例如$HADOOP_HOME/logs目录。

总之,No FileSystem for scheme: hdfs错误通常是由于Hadoop配置不正确或者Hadoop服务未启动导致的,需要检查Hadoop配置、Hadoop服务是否启动、Hadoop版本和Hadoop依赖库等方面,以及查看Hadoop的日志文件,找出具体的错误原因。

【由 http://www.gpt100.chat/ 生成】