linux关于MapReduce编程实践,刚学习出错求解答

在完成实践时发现在eclipse中总报no filesystem for scheme hdfs错误,根据网上的信息进行修改无果,直接将其导出使用hadoop运行结果报错。原本可以有结果显示,不知道是不是修改之前错误时把hadoop的文件修改的哪里有错误

img

在 Eclipse 中,打开 MapReduce 项目,然后右键单击项目名称,选择“属性”菜单项。
在弹出的“属性”窗口中选择“Java Build Path”,然后展开“Libraries”节点。
点击“Add Library”按钮,在弹出的对话框中选择“User Library”,然后点击“Next”按钮。
在下一个对话框中,点击“New”按钮创建一个新的用户库,并将其命名为“Hadoop”。
在“Hadoop”用户库中添加 Hadoop 的 JAR 文件,包括 client、common、mapreduce、yarn 等。
在 Eclipse 中新建一个 Java 类文件,并在其中添加以下代码:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class HdfsTest {
    public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS", "hdfs://localhost:9000");
        FileSystem fs = FileSystem.get(conf);
        Path path = new Path("/test.txt");
        if (fs.exists(path)) {
            System.out.println("File exists!");
        } else {
            System.out.println("File not found!");
        }
    }
}

运行上述代码,如果没有报错,则说明 Hadoop FileSystem 配置成功。
上述代码中的 fs.defaultFS 应设置为实际使用的 HDFS 地址,这里以 localhost:9000 为例。如果使用的是其他地址,将其修改为实际地址。