Слив HDFS с исходным кодом Kafka — несколько файлов?

#apache-kafka #hdfs #flume

#apache-kafka #hdfs #поток

Вопрос:

Приемник Flume HDFS настроен следующим образом :

 tier1.sinks.sink1.hdfs.path = /project/mgd/ 
tier1.sinks.sink1.hdfs.filePrefix = EMA_LOG%Y%m%d 
tier1.sinks.sink1.hdfs.rollInterval = 86400 
#tier1.sinks.sink1.hdfs.rollInterval = 3600 
tier1.sinks.sink1.hdfs.fileSuffix = .json 
tier1.sinks.sink1.hdfs.writeFormat = Text 
tier1.sinks.sink1.hdfs.rollSize = 0 
tier1.sinks.sink1.hdfs.rollCount = 0 
tier1.sinks.sink1.hdfs.fileType = DataStream 
tier1.sinks.sink1.channel = channel1 
  

ежедневно создает три файла HDFS (rollInterval = 86400). Является ли это следствием количества агентов flume, настроенных в кластере, или количества тематических разделов Kafka, которые настроены в качестве источника для этого конкретного агента flume? Есть предложения по объединению этих файлов в один?

Ответ №1:

Если вы используете три агента flume, тогда будет создано 3 файла, если вам нужен только один файл, тогда вам нужно запустить только один агент flume. Или же после создания 3 файлов вам необходимо самостоятельно объединить эти файлы, внешние по отношению к flume.