У меня есть 24-гигабайтная папка в локальной файловой системе. Моя задача - переместить эту папку в HDFS. Два пути я сделал это. 1) hdfs dfs -copyFromLocal/home/data// home/Apache Flume занимает больше времени, чем copyFromLocal command
Для этого потребовалось около 15 минут.
2) Использование флюма.
Вот мой агент
spool_dir.sources = src-1
spool_dir.channels = channel-1
spool_dir.sinks = sink_to_hdfs
# source
spool_dir.sources.src-1.type = spooldir
spool_dir.sources.src-1.channels = channel-1
spool_dir.sources.src-1.spoolDir = /home/data/
spool_dir.sources.src-1.fileHeader = false
# HDFS sinks
spool_dir.sinks.sink_to_hdfs.type = hdfs
spool_dir.sinks.sink_to_hdfs.hdfs.fileType = DataStream
spool_dir.sinks.sink_to_hdfs.hdfs.path = hdfs://192.168.1.71/home/user/flumepush
spool_dir.sinks.sink_to_hdfs.hdfs.filePrefix = customevent
spool_dir.sinks.sink_to_hdfs.hdfs.fileSuffix = .log
spool_dir.sinks.sink_to_hdfs.hdfs.batchSize = 1000
spool_dir.channels.channel-1.type = file
spool_dir.channels.channel-1.checkpointDir = /home/user/spool_dir_checkpoint
spool_dir.channels.channel-1.dataDirs = /home/user/spool_dir_data
spool_dir.sources.src-1.channels = channel-1
spool_dir.sinks.sink_to_hdfs.channel = channel-1
Этот шаг занял почти час, чтобы передавать данные HDFS.
Согласно моим знаниям, Flume распространяется, поэтому не должно быть, чтобы Flume загружал данные быстрее, чем copyFromLocal.
есть ли у вас какая-либо дополнительная информации о данных, которые вы хотели бы поместить в HDFS? ли данные журнала? изменит ли это со временем? Где эти данные генерируются? – bessbd