加载positionFile失败:在水槽中使用TAILDIR Source时出现错误

时间:2018-06-11 06:24:35

标签: json flume flume-ng

我正在研究Flume,使用Flume Source TAILDIR 将数据从本地目录附加到HDFS。

我的用例是做Delta Load如果新行出现在本地目录的源文件中,那么它将附加在hdfs中。

这是我的Flume Conf文件

#configure the agent
agent.sources=r1
agent.channels=k1
agent.sinks=c1

agent.sources.r1.type=TAILDIR
agent.sources.r1.positionFile = /home/flume/Documents/taildir_position.json
agent.sources.r1.filegroups=f1
agent.sources.r1.filegroups.f1=/home/flume/Documents/spooldir/
agent.sources.r1.batchSize = 20
agent.sources.r1.writePosInterval=2000
agent.sources.r1.maxBackoffSleep=5000
agent.sources.r1.fileHeader = true

agent.sources.r1.channels=k1
agent.channels.k1.type=memory
agent.channels.k1.capacity=10000
agent.channels.k1.transactionCapacity=1000   

agent.sinks.c1.type=hdfs
agent.sinks.c1.channel=k1
agent.sinks.c1.hdfs.path=hdfs://localhost:8020/flume_sink
agent.sinks.c1.hdfs.batchSize = 1000
agent.sinks.c1.hdfs.rollSize = 268435456
agent.sinks.c1.hdfs.writeFormat=Text
运行flume命令时

flume-ng agent -n agent -c conf -f /home/swechchha/Documents/flumereal.conf

我收到错误Loading Json File Unable to Load Json file

我收到加载JSON文件的错误。

2 个答案:

答案 0 :(得分:0)

Here是代码。它在第110行崩溃。请确保 flume 用户可以访问该JSON文件并且文件格式正确。

答案 1 :(得分:0)

问题陈述中提到的F​​lume.conf存在问题。

TAILDIR SOURCE :观察指定的文件,并在检测到新行添加到每个文件后几乎实时拖尾。如果正在写入新行,则此源将重试读取它们,等待写入完成。

虽然在这种情况下编写文件组属性目录可能包含多个文件,但应该提及目录路径/。 filestype。

Method Not Allowed (POST): /my_shipment/

然后运行flume.conf并检查结果是否正常。