flume을 사용하는 로컬 시스템에서 hdfs에서 파일을 이동하려고하지만 내 flume을 실행할 때 많은 작은 파일이 생성됩니다. 내 원본 파일의 크기는 154 - 500KB이지만 내 HDFS에서는 크기가 4-5kb 인 많은 파일을 만듭니다. 나는 수색을하고 rollSize과 rollCount을 변경하면 값이 증가하지만 여전히 동일한 문제가 발생하고 있음을 알았습니다. 또한 나는 아래 오류 받고있다.작은 파일을 생성하는 flume
오류 : 내가 HDFS-site.xml의의 변화를 할 조금 무서워
ERROR hdfs.BucketWriter: Hit max consecutive under-replication rotations (30); will not continue rolling files under this path due to under-replication
내가 클러스터에서 작업하고있다. HDFS에 원본 파일을 옮기거나 크기가 작은 파일을 만들기 위해 할 수있는 일을 제안하십시오 (4-5kb 대신 50-60kb로 만드십시오).
다음은 나의 구성입니다.
구성 :
agent1.sources = source1
agent1.sinks = sink1
agent1.channels = channel1
agent1.sources.source1.channels = channel1
agent1.sinks.sink1.channel = channel1
agent1.sources.source1.type = spooldir
agent1.sources.source1.spoolDir = /root/Downloads/CD/parsedCD
agent1.sources.source1.deletePolicy = immediate
agent1.sources.source1.basenameHeader = true
agent1.sinks.sink1.type = hdfs
agent1.sinks.sink1.hdfs.path = /user/cloudera/flumecd
agent1.sinks.sink1.hdfs.fileType = DataStream
agent1.sinks.sink1.hdfs.filePrefix = %{basename}
agent1.sinks.sink1.hdfs.rollInterval = 0
agent1.sinks.sink1.hdfs.batchsize= 1000
agent1.sinks.sink1.hdfs.rollSize= 1000000
agent1.sinks.sink1.hdfs.rollCount= 0
agent1.channels.channel1.type = memory
agent1.channels.channel1.maxFileSize =900000000
감사합니다. 자세한 설명을 위해 :) – Ironman