복붙노트

[HADOOP] Windows의 Hadoop 오류 : java.lang.UnsatisfiedLinkError

HADOOP

Windows의 Hadoop 오류 : java.lang.UnsatisfiedLinkError

저는 Hadoop을 처음 사용하고지도 카운트의 첫 번째지도 작업을 실행하려고합니다. 그러나, 내가 그것을하려고 할 때마다, 나는 아래의 오류가 나타납니다 :

java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeCompute
ChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V
        at org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(
Native Method)
        at org.apache.hadoop.util.NativeCrc32.calculateChunkedSumsByteArray(Nati
veCrc32.java:86)
        at org.apache.hadoop.util.DataChecksum.calculateChunkedSums(DataChecksum
.java:430)
        at org.apache.hadoop.fs.FSOutputSummer.writeChecksumChunks(FSOutputSumme
r.java:202)
        at org.apache.hadoop.fs.FSOutputSummer.flushBuffer(FSOutputSummer.java:1
63)
        at org.apache.hadoop.fs.FSOutputSummer.flushBuffer(FSOutputSummer.java:1
44)
        at org.apache.hadoop.hdfs.DFSOutputStream.close(DFSOutputStream.java:221
7)
        at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOut
putStream.java:72)
        at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java
:106)
        at org.apache.hadoop.io.IOUtils.cleanup(IOUtils.java:237)
        at org.apache.hadoop.io.IOUtils.closeStream(IOUtils.java:254)
        at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:61)
        at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:112)
        at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:366)
        at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338)
        at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:190
5)
        at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:187
3)
        at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:183
8)
        at org.apache.hadoop.mapreduce.JobResourceUploader.copyJar(JobResourceUp
loader.java:246)
        at org.apache.hadoop.mapreduce.JobResourceUploader.uploadFiles(JobResour
ceUploader.java:166)
        at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSub
mitter.java:98)
        at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitt
er.java:191)
        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:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInforma
tion.java:1656)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:1294)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1315)
        at org.apache.hadoop.examples.WordCount.main(WordCount.java:87)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(Progra
mDriver.java:71)
        at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
        at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

또한, 내가 할 때

op checknative를 가졌다.

다음 세부 정보를 보여줍니다.

Native library checking:
hadoop:  true C:\hadoop-2.6.1\bin\hadoop.dll
zlib:    false
snappy:  false
lz4:     true revision:43
bzip2:   false
openssl: false org.apache.hadoop.util.NativeCodeLoader.buildSupportsOpenssl()Z
winutils: true C:\hadoop-2.6.1\bin\winutils.exe
15/10/19 15:18:24 INFO util.ExitUtil: Exiting with status 1

이 문제를 해결할 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.나는 똑같은 문제가 있었다. system32 디렉토리에서 hadoop.dll을 제거하고 HADOOP_HOME 환경 변수를 설정 한 후 작동했습니다.

    나는 똑같은 문제가 있었다. system32 디렉토리에서 hadoop.dll을 제거하고 HADOOP_HOME 환경 변수를 설정 한 후 작동했습니다.

    또는 -Djava.library.path = / lib / native와 같은 jvm 인수를 추가로 사용할 수 있습니다.

  2. ==============================

    2.이 오류도 있었고이 오류가 해결되었습니다.

    이 오류도 있었고이 오류가 해결되었습니다.

    전 괜찮아요. 참고 : 2 파일 "winutils.exe"및 "hadoop.dll"이 사용중인 hadoop 버전과 맞지 않으면 정상이 아닙니다.

  3. ==============================

    3.이 오류가 발생하는 동안 java 프로세스에서 동일한 C : \ hadoop-2.6.1 \ bin \ hadoop.dll 파일이 사용되는지 여부를 확인하십시오. 찾아 프로세스 탐색기를 사용하십시오.

    이 오류가 발생하는 동안 java 프로세스에서 동일한 C : \ hadoop-2.6.1 \ bin \ hadoop.dll 파일이 사용되는지 여부를 확인하십시오. 찾아 프로세스 탐색기를 사용하십시오.

  4. ==============================

    4.자바 버전을 확인하십시오. java가 32 비트 버전이라면, hadoop 용 64 비트 버전을 제거하고 다시 설치해야합니다.

    자바 버전을 확인하십시오. java가 32 비트 버전이라면, hadoop 용 64 비트 버전을 제거하고 다시 설치해야합니다.

    확인 명령 :

    java -d32 -version;

    java -d64 -version; (64 버전 인 경우 오류 없음)

  5. from https://stackoverflow.com/questions/33211599/hadoop-error-on-windows-java-lang-unsatisfiedlinkerror by cc-by-sa and MIT license