FATAL: Spool Directory source source: { spoolDir:/home/work/local/log }: Uncaught exception in

2858 단어 Flume
flume 오류는 다음과 같습니다.
28 Apr 2019 15:08:59,663 ERROR [pool-5-thread-1] (org.apache.flume.source.SpoolDirectoryExtSource2$SpoolDirectoryRunnable.run:277)  - FATAL: Spool Directory source source1: { spoolDir: /home/work/local/log }: Uncaught exception in SpoolDirectorySource thread. Restart or reconfigure Flume to continue processing.
java.lang.NullPointerException
    at org.apache.avro.io.ResolvingDecoder.readLong(ResolvingDecoder.java:159)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:157)
    at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:177)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:148)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:139)
    at org.apache.avro.file.DataFileStream.next(DataFileStream.java:233)
    at org.apache.flume.serialization.DurablePositionTracker.initReader(DurablePositionTracker.java:171)
    at org.apache.flume.serialization.DurablePositionTracker.(DurablePositionTracker.java:158)
    at org.apache.flume.serialization.DurablePositionTracker.getInstance(DurablePositionTracker.java:76)
    at org.apache.flume.client.avro.ReliableSpoolingFileEventExtReader2.openFile(ReliableSpoolingFileEventExtReader2.java:561)
    at org.apache.flume.client.avro.ReliableSpoolingFileEventExtReader2.getNextFile(ReliableSpoolingFileEventExtReader2.java:511)
    at org.apache.flume.client.avro.ReliableSpoolingFileEventExtReader2.readEvents(ReliableSpoolingFileEventExtReader2.java:264)
    at org.apache.flume.source.SpoolDirectoryExtSource2$SpoolDirectoryRunnable.run(SpoolDirectoryExtSource2.java:252)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

 
해결 방법:
1. 플럼을 다시 시작하면 플럼이 가사로 인해 발생할 수 있다.
2. 리셋이 사용되지 않을 때 로컬 파일 디렉터리/home/work/local/log에 새 파일이 있는지 확인하십시오. flume의 설정에서 이 경로에 있는 파일을 필터해야 하기 때문에 이 디렉터리에 변동이 없습니다.
3. 기존의.completed 파일의 이름을 바꾸고 flume를 다시 시작하면 새로운 숨겨진 파일이 생성되지 않았고, flume는 곧 상술한 오류가 발생했습니다.로컬 파일 경로로 이동합니다.flumespool은 디렉터리를 숨깁니다. 이 디렉터리에 파일이 있습니다.flumespool-main.meta는 flume가 파일을 읽는 위치를 기록하는 데 사용되며, 이 기록이flume에서 문제가 발생한 시간에 멈추는 것을 발견합니다.정상적으로 실행되는 다른 기계의 같은 경로와 파일을 다시 보았지만 이 파일을 발견하지 못했습니다. 이 파일을 다른 디렉터리로 옮겨서flume를 다시 시작합니다. 이 때flume가 성공적으로 실행되었습니다!

좋은 웹페이지 즐겨찾기