Windows에서 MapReduce 프로그램의 로컬 실행으로보고 된 오류에 대한 해결 방법

Windows에서 MapReduce 프로그램의 로컬 실행으로보고 된 오류에 대한 해결 방법

1. 문제 설명

 Windows 시스템에서 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:606)

2. 솔루션

 소스 코드 org.apache.hadoop.io.nativeio.NativeIO를 프로젝트에 복사하고 패키지 이름에주의 한 후public static boolean access(String path, AccessRight desiredAccess) throws IOException 다음과 같이 메서드를 수정합니다 .

public static boolean access(String path, AccessRight desiredAccess)
    throws IOException {
    
    
    String os = System.getProperty("os.name");
    return os.contains("Windows") || access0(path, desiredAccess.accessRight());
}

추천

출처blog.csdn.net/adsl624153/article/details/100069911