我正在使用flume将本地文件源到HDFS接收器,下面是我的conf:
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir = /usr/download/test_data/
a1.sources.r1.basenameHeader = true
a1.sources.r1.basenameHeaderKey = fileName
# Describe the sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://172.16.10.5/user/admin/Data/
a1.sinks.k1.hdfs.filePrefix = %{fileName}
a1.sinks.k1.hdfs.idleTimeout=60
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 5000
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
我使用用户“flume”来执行这个conf文件。
time bin/flume-ng agent -c conf -f conf/hdfs_sink.conf -n a1 -Dflume.root.logger=INFO,console
但它显示我找不到本地文件,权限被拒绝
Could not find file: /usr/download/test_data/sale_record0501.txt
java.io.FileNotFoundException: /usr/download/test_data/.flumespool/.flumespool-main.meta (Permission denied)
如何解决这个问题?
您的Flume
用户可能没有假脱机目录下的权限。您的假脱机目录位于/usr
,访问此路径可能需要root权限。
首先使用< code>sudo su成为根用户,然后使用以下命令执行或替换您的执行命令
sudo bin/flume-ng agent -c conf -f conf/hdfs_sink.conf -n a1 -Dflume.root.logger=INFO,console
另一方面,您可以将权限授予Flume
用户
cd /usr/download/
sudo chown -R flume:somegroup test_data
我已将Flume源配置为Spooldir类型。我有很多CSV文件,.xl3和.xls,我希望我的Flume代理将所有文件从假脱机程序加载到HDFS接收器。然而,水槽代理返回异常 这是我对水槽源的配置: 和我的HDFS接收器:
我想使用 flume 将数据从 hdfs 目录传输到 hdfs 中的目录,在此传输中,我想应用处理形态线。 例如:我的来源是 我的水槽是 有水槽可能吗? 如果是,源水槽的类型是什么?
我已经为我的应用程序配置了水槽代理,其中源是Spooldir,接收器是HDFS 我能够在hdfs中收集文件。 代理配置为: 我有以下格式的hdfs文件: /flume/events/file1.txt。1411543838171/水槽/事件/文件2.txt.1411544272696 我想知道我可以删除时间戳(1411543838171) /唯一号码,这是自动生成的每个事件的文件名?
我正在尝试将数据从kafka(最终我们将使用在不同实例上运行的kafka)发送到hdfs。我认为水槽或某种摄取协议是必要的,以将数据输入hdfs。所以我们使用Cloudera的水槽服务和hdfs。 这是我的水槽配置文件。另一个conf文件为空 当我启动一个 kafka 消费者时,它可以在 localhost:2181 上很好地从 kafka 生产者那里获取消息。但是我没有看到水槽代理的任何错误,也
我正在为我公司的 POC 实施一个小型 hadoop 集群。我正在尝试使用Flume将文件导入HDFS。每个文件都包含如下 JSON 对象(每个文件 1 个“长”行): “objectType”是数组中对象的类型(例如:事件、用户…)。 这些文件稍后将由多个任务根据“对象类型”进行处理。 我正在使用spoolDir源和HDFS接收器。 我的问题是: > 当flume写入HDFS时,是否可以保留源文
我遇到了Flume的问题(Cloudera CDH 5.3上的1.5): 我想做的是:每5分钟,大约20个文件被推送到假脱机目录(从远程存储中抓取)。每个文件包含多行,每行是一个日志(在JSON中)。文件大小在10KB到1MB之间。 当我启动代理时,所有文件都被成功推送到HDFS。1分钟后(这是我在flume.conf中设置的),文件被滚动(删除. tmp后缀并关闭)。 但是,当在假脱机目录中找到