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

[hadoop] 하둡에서 스내피 압축 코덱 오류 수정 Error: java.lang.RuntimeException: native snappy library not available: SnappyCompressor has not been loaded

by hs_seo 2021. 3. 28.
21/03/28 11:11:14 INFO mapreduce.Job: Task Id : attempt_1616895550362_0002_m_000000_0, Status : FAILED
Error: java.lang.RuntimeException: native snappy library not available: SnappyCompressor has not been loaded.
	at org.apache.hadoop.io.compress.SnappyCodec.checkNativeCodeLoaded(SnappyCodec.java:72)
	at org.apache.hadoop.io.compress.SnappyCodec.getCompressorType(SnappyCodec.java:136)
	at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:150)
	at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:168)
	at org.apache.hadoop.mapred.IFile$Writer.<init>(IFile.java:114)
	at org.apache.hadoop.mapred.IFile$Writer.<init>(IFile.java:97)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1619)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1498)
	at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:729)
	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:799)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
	at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:177)
	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:1893)
	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:171)

하둡을 설치하고 스내피(snappy) 압축 라이브러리를 설치 하지 않아서 오류가 발생하는 경우가 있습니다. 이럴 때는 스내피 라이브러리를 설치하면 됩니다. 설치 방법 또한 yum이나 apt-get으로 처리할 수 있습니다.

 

스내피 라이브러리를 설치 한 후에는 컴포넌트를 재실행 해야 합니다. 재실행하지 않으면 새로운 라이브러리를 인식하지 못합니다.

 

반응형