博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mapreduce org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z错误解决
阅读量:2429 次
发布时间:2019-05-10

本文共 2073 字,大约阅读时间需要 6 分钟。

今天本地调试mapreduce程序时遇到如下问题

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:557)	at org.apache.hadoop.fs.FileUtil.canRead(FileUtil.java:977)	at org.apache.hadoop.util.DiskChecker.checkAccessByFileMethods(DiskChecker.java:187)	at org.apache.hadoop.util.DiskChecker.checkDirAccess(DiskChecker.java:174)	at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:108)	at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.confChanged(LocalDirAllocator.java:285)	at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:344)	at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:150)	at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:131)	at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:115)	at org.apache.hadoop.mapred.LocalDistributedCacheManager.setup(LocalDistributedCacheManager.java:125)	at org.apache.hadoop.mapred.LocalJobRunner$Job.
(LocalJobRunner.java:163) at org.apache.hadoop.mapred.LocalJobRunner.submitJob(LocalJobRunner.java:731) at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:241) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1297) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1294) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1692) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1294) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1315) at cn.aiaudit.flow.FlowCount.main(FlowCount.java:34)

开始试了很多办法都没有解决,最后尝试了改源码方案,成功解决。

步骤

1.工程中新建org.apache.hadoop.io.nativeio包,并将NativeIO.java拷贝到这个包下。

### NativeIO.java可以通过错误栈点击查看

在这里插入图片描述

2. 修改NativeIO.java
在这里插入图片描述

转载地址:http://cecmb.baihongyu.com/

你可能感兴趣的文章
Lock、ReentrantLock、synchronized
查看>>
Java过滤器与SpringMVC拦截器之间的关系与区别
查看>>
Java中的String为什么是不可变的?
查看>>
剑指offer二叉搜索树与双向链表
查看>>
LeetCode 81. 搜索旋转排序数组 II(头条)
查看>>
LC 42. 接雨水 + LC 11. 盛最多水的容器
查看>>
腾讯2017 秋招+暑期实习 笔试(编码;构造回文;字符移位;有趣的数字)
查看>>
LC 901. 股票价格跨度 LC 739. 每日温度
查看>>
【Redis深入】字典rehash图解
查看>>
java equals方法和hashCode方法
查看>>
Redis的底层数据结构(6种)
查看>>
Redis的五大数据类型实现原理
查看>>
maven依赖jar包时版本冲突的解决
查看>>
LC 446. 等差数列划分 II - 子序列
查看>>
LC 53. 最大子序和(DP)+ LC 152. 乘积最大子序列 + LC 238. 除自身以外数组的乘积
查看>>
198. 打家劫舍 DP
查看>>
628. 三个数的最大乘积
查看>>
正向代理和反向代理
查看>>
不同的类加载器加载的类不是同一个类
查看>>
Java 序列化和反序列化
查看>>