지구정복

[Flume] Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;) 에러 뜰 때 본문

데이터 엔지니어링 정복/Flume

[Flume] Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;) 에러 뜰 때

eeaarrtthh 2021. 6. 6. 13:23
728x90
반응형
SMALL

플럼을 이용해서 데이터를 hdfs에 적재하다가 아래와 같은 에러를 만났다 ㅎㅎ 에러는 항상 정말 반갑다 ㅎㅎㅎㅎㅎㅎ하하

Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338)
    at org.apache.hadoop.conf.Configuration.setBoolean(Configuration.java:1679)
    at org.apache.flume.sink.hdfs.BucketWriter.open(BucketWriter.java:226)
    at org.apache.flume.sink.hdfs.BucketWriter.append(BucketWriter.java:541)
    at org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:401)
    at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:67)
    at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:145)
    at java.lang.Thread.run(Thread.java:748)

 

구글링 해보니 flume/lib의 guava-11.0.2.jar를 없애줘야 한다고 한다.

정확히는 모르겠지만 예상하는 것은 하둡 3버전의 guava라이브러리랑 충돌이 나는 것 같다.

 

guava라이브러리는 자바 오픈소스나 자바용 라이브러리를 열 때 사용하는 라이브러리라고 한다.

 

아무튼 아래처럼 플럼의 guava의 이름을 바꿔준다.

cd flume/lib
mv guava-11.0.2.jar guava-11.0.2.jar.bak

그리고 플럼을 다시 실행하면 정상적으로 작동된다.

 

728x90
반응형
LIST
Comments