win10上调试hadoop

  1. 首先找到对应的版本,比如我使用的时hadoop2.7.3,就可以直接用2.7.1版本的

  2. 配置文件:https://github.com/LUK-qianliu/winutils-master
    目录下的hadoop.dll和winutils.exe复制到hadoop2.7.3/bin下:
    在这里插入图片描述
    在这里插入图片描述

  3. 将hadoop.dll复制到C:\Windows\System32下:
    在这里插入图片描述

  4. 此时调试出现下面的bug:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
	at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
	at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:609)

修改如下代码,注释了return access0(),改为return true:

public static boolean access(String path, NativeIO.Windows.AccessRight desiredAccess) throws IOException {
            return true;
            //return access0(path, desiredAccess.accessRight());
        }
}

在这里插入图片描述

复制NativeIO方法(同时建立与源码相同的包结构):
在这里插入图片描述

运行代码,结果正常:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35688140/article/details/84309809
今日推荐