[HADOOP] 에서 java.lang.UnsatisfiedLinkError : org.apache.hadoop.io.nativeio.NativeIO $ Windows.createDirectoryWithMode0
HADOOP에서 java.lang.UnsatisfiedLinkError : org.apache.hadoop.io.nativeio.NativeIO $ Windows.createDirectoryWithMode0
나는이 예외를 해결할 수없는, 내가 하둡 다큐 내가 찾을 수있는 모든 관련 유래 질문을 읽었습니다.
내 fileSystem.mkdirs (***)가 발생합니다 :
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V
at org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Native Method)
at org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode(NativeIO.java:524)
at org.apache.hadoop.fs.RawLocalFileSystem.mkOneDirWithMode(RawLocalFileSystem.java:465)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirsWithOptionalPermission(RawLocalFileSystem.java:518)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:496)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:316)
...
나는 모든 버전 2.6.0 - cdh5.13.0에, (받는다는의 pom.xml을 통해) 내 응용 프로그램에서 다음 종속성을 포함하고있다 : 하둡 - 일반, 하둡 HDFS, Hadoop을 클라이언트, 하둡 - minicluster
내 파일 시스템 변수는 유효한 (하둡 - 공통) 파일 시스템 (org.apache.hadoop.fs.FileSystem)입니다.
나는 https://github.com/steveloughran/winutils/tree/master/hadoop-2.6.0/bin에서 하둡 파일을 다운로드했습니다. \ 임시 \ 하둡 \ bin에 : 나는 C에서 내 로컬 파일 시스템에 버전 2.6.0에서 winutils.exe 다른 모든 파일을 저장. 나는 C와 경로 변수 HADOOP_HOME을 추가 : \ 임시 \의 하둡 (예, bin 디렉토리 경로가 아닌).
대체는 ( "내장 - 자바 클래스를 사용하여")를 사용하지 않는, 내가 점점 오전 :
145 [main] DEBUG org.apache.hadoop.util.NativeCodeLoader - Trying to load the custom-built native-hadoop library...
147 [main] DEBUG org.apache.hadoop.util.NativeCodeLoader - Loaded the native-hadoop library
(https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/NativeLibraries.html 참조)
I는이 예외 하둡 버전 불일치에 의해 야기 될 수 있다는 것을 이해해야하지만, I 가져온 하둡 I 현명 로컬 버전을 저장 하둡 일치하는지 체크.
나는 윈도우 10 x64 시스템과 IntelliJ를하고 있어요.
누구나 아이디어를 가지고, 내가 확인 또는 수 있는지, 내가 무슨 일을하고 있는가?
최신 정보: 나는 다음을 실행 VM 옵션 내 주요
-Dhadoop.home.dir=C:/Temp/hadoop
-Djava.library.path=C:/Temp/hadoop/bin
lib 디렉토리 경로를 지정하지 않고, 내가 얻을 :
org.apache.hadoop.util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
해결법
-
==============================
1.나에게 설정 VM 인수 -Djava.library.path = C : \ DevTools로 \ winutils 마스터 \의 하둡 - 3.0.0 이 문제를 해결.
나에게 설정 VM 인수 -Djava.library.path = C : \ DevTools로 \ winutils 마스터 \의 하둡 - 3.0.0 이 문제를 해결.
-
==============================
2.이 예외의 이유가 있었다 :
이 예외의 이유가 있었다 :
내 받는다는 치어 통해 2.6.0-cdh5.13.0을 수입하고있다,하지만 난 버전 2.6.0의 사전 구축 된 파일을 다운로드했습니다. 사람들은 cdh5.13.0 변형 (CDH는 하둡 생태계를 포함 클라우 데라의 플랫폼)에 변경 사항을 누락되었습니다. 따라서, 버전 충돌에 참입니다.
내가 대신 2.6.0-cdh5.13.0 등의 2.6.0처럼 하둡 - 일반, 하둡 HDFS, Hadoop을 클라이언트 가져 오는 경우를 제외하고는 사라집니다 (그리고 나는 심지어 VM 옵션을 설정할 필요가 없습니다).
http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.0/hadoop-project-dist/hadoop-common/NativeLibraries.html 참조
-
==============================
3.당신의 자바 버전을 확인합니다. 자바는 32 비트 버전 인 경우에는 제거하고 하둡 64 비트 버전으로 다시 설치해야합니다.
당신의 자바 버전을 확인합니다. 자바는 32 비트 버전 인 경우에는 제거하고 하둡 64 비트 버전으로 다시 설치해야합니다.
명령을 확인합니다 :
자바 -d32 -version (에러 없음 32 버전의 경우)
자바 -d64 -version (에러 없음 64 버전의 경우)
from https://stackoverflow.com/questions/51282184/java-lang-unsatisfiedlinkerror-org-apache-hadoop-io-nativeio-nativeiowindows-c by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] oozie와 예 스파크 작업을 실행할 수 없습니다 (0) | 2019.09.19 |
---|---|
[HADOOP] MiniDFSCluster와 단위 테스트 하둡 HDFS의 글 (0) | 2019.09.19 |
[HADOOP] 내 UDF를 실행하는 경우 : 하이브 SemanticException [오류 10014]를 제공합니다 (0) | 2019.09.19 |
[HADOOP] 이미지 / HBase를에 비디오 및 액세스의 HTTP URL 어떤 종류의를 통해 사용할 수 (0) | 2019.09.19 |
[HADOOP] 나는 하둡의 맵 구조에 의해 '필터'를 사용할 수 - 돼지? (0) | 2019.09.19 |