加载positionfile失败:在flume中使用taildir源时出现错误

m1m5dgzv  于 2021-06-04  发布在  Flume
关注(0)|答案(2)|浏览(1233)

我在flume上工作,使用flume source taildir将本地目录中的数据附加到hdfs。
我的用例是,如果新行出现在localdir的源文件中,那么就执行delta加载,这样就可以在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/swechha/documents/flumereal.conf
我犯了个错误

加载json文件时出错。

64jmpszr

64jmpszr1#

这是密码。它在110线坠毁了。请确保flume用户有权访问该json文件,并且该文件的格式正确。

d8tt03nd

d8tt03nd2#

问题语句中提到的flume.conf有问题。
taildir源:监视指定的文件,一旦检测到附加到每个文件的新行,就几乎实时地跟踪它们。如果正在写入新行,此源将重试读取它们,等待写入完成。
在编写filegroups时,属性目录可能包含多个文件,在这种情况下,应该像directory path/.filetype那样提及它。

agent.sources.r1.filegroups.f1=/home/flume/Documents/spooldir/.*txt.*

然后运行flume.conf并检查结果它将正常工作。

相关问题