본문 바로가기
빅데이터/hadoop

[hadoop] no leveldbjni64-1.8 in java.library.path, no leveldbjni-1.8 in java.library.path, no leveldbjni in java.library.path, No such file or directory 오류 수정

by hs_seo 2021. 11. 15.

하둡 타임라인서버 실행 중 다음과 같은 오류가 발생하였다. leveldb 라이브러리를 찾을 수 없다고 하는데, jar 파일이 기본 경로에 들어 있기 때문에 문제가 될 것이 없어 보이는데 오류가 계속 발생하였다.

2021-11-15 08:09:34,187 ERROR org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer: Error starting ApplicationHistoryServer
java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no leveldbjni64-1.8 in java.library.path, no leveldbjni-1.8 in java.library.path, no leveldbjni in java.library.path, No such file or directory]
	at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
	at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
	at org.fusesource.leveldbjni.JniDBFactory.<clinit>(JniDBFactory.java:48)
	at org.apache.hadoop.yarn.server.timeline.RollingLevelDBTimelineStore.serviceInit(RollingLevelDBTimelineStore.java:287)
	at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
	at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:108)
	at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.serviceInit(EntityGroupFSTimelineStore.java:211)
	at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
	at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:108)
	at org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer.serviceInit(ApplicationHistoryServer.java:115)
	at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
	at org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer.launchAppHistoryServer(ApplicationHistoryServer.java:177)
	at org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer.main(ApplicationHistoryServer.java:187)

 

해결 방법

이 문제는 libleveldbjni-64-xxxx 파일을 생성하는데 오류가 발생하여 나타난다. 타임라인 서버를 실행할 때 -Djava.io.tmpdir=/tmp/hadoop 이라고 설정을 추가했는데 이 경로에 leveldb 파일을 생성하지 못해서 오류가 발생하였다.

 

정확한 내부 프로세스는 확인하지 못했으니 해당 설정을 지우고 실행하니 정상적으로 실행된다. 이 문제가 발생하면 템프 디렉토리 설정르 잘 확인하면 된다.

반응형