【发布时间】:2016-10-05 10:15:34
【问题描述】:
我的本地文件系统中有 24GB 的文件夹。我的任务是将该文件夹移动到 HDFS。我做了两种方法。 1) hdfs dfs -copyFromLocal /home/data/ /home/
这需要大约 15 分钟才能完成。
2) 使用 Flume。
这是我的经纪人
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 的数据有任何进一步的信息吗?是日志数据吗?它会随着时间而改变吗?这些数据是在哪里生成的?
标签: hdfs flume flume-ng bigdata