FATAL: Spool Directory source source: { spoolDir:/home/work/local/log }: Uncaught exception in
2858 단어 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가 성공적으로 실행되었습니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flume Processorsactive 상태 프로세스가 죽어야 다른 작업이 바뀔 수 있습니다.그 많은sink가 도대체 누가 먼저 일을 하는지, 권중에 따라 누구의 권중이 높은지, 누가 먼저 일을 하는지, 일반적인 고장 전이를 하면 2개sink...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.