org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)问题

在Windows10远程开发Hadoop2.6.0版本时遇到了这个错误,本地电脑已经配置基本的要求(Hadoop环境变量配置,winutils.exe文件放入bin目录下),网上的方案很多都是通过在Windows 的System32文件夹下放置hadoop.dll文件,放置后重启电脑运行仍然报错。最后的解决方案是下载hadoop2.7的hadoop.dll文件和对应的winutils.exe文件放入System32文件下和本地Hadoop文件的bin目录下重新启动电脑即可。
另外在代码中可以使用强制加载的方式加载.dll文件

   static {
        try {
            System.load("C:\\file\\hadoop2.7.6\\bin\\hadoop.dll"); //hadoop.dll文件地址
        } catch (UnsatisfiedLinkError e) {
            System.err.println("Native code library failed to load.\n" + e);
            System.exit(1);
        }
    }

如果该问题解决后报错权限问题 可以在代码初始化中加入System.setProperty("HADOOP_USER_NAME",“你的用户名”)来解决权限问题。

posted @ 2020-03-11 13:36  Super~me  阅读(1639)  评论(0编辑  收藏  举报