是否可以在cloudera quickstart cdh vm中使用avro sink/source设置flume客户端收集器结构?我知道没有实际用途,但我想了解flume如何与avro文件一起工作,以及如何在以后与pig等一起使用它们。。
它尝试了几种配置,但都不起作用。对我来说,似乎我需要几个代理,但只能有一个在虚拟机。
我上次尝试的是:
agent.sources = reader avro-collection-source
agent.channels = memoryChannel memoryChannel2
agent.sinks = avro-forward-sink hdfs-sink
#Client
agent.sources.reader.type = exec
agent.sources.reader.command = tail -f /home/flume/avro/source.txt
agent.sources.reader.logStdErr = true
agent.sources.reader.restart = true
agent.sources.reader.channels = memoryChannel
agent.sinks.avro-forward-sink.type = avro
agent.sinks.avro-forward-sink.hostname = 127.0.0.1
agent.sinks.avro-forward-sink.port = 80
agent.sinks.avro-forward-sink.channel = memoryChannel
agent.channels.memoryChannel.type = memory
agent.channels.memoryChannel.capacity = 10000
agent.channels.memoryChannel.transactionCapacity = 100
# Collector
agent.sources.avro-collection-source.type = avro
agent.sources.avro-collection-source.bind = 127.0.0.1
agent.sources.avro-collection-source.port = 80
agent.sources.avro-collection-source.channels = memoryChannel2
agent.sinks.hdfs-sink.type = hdfs
agent.sinks.hdfs-sink.hdfs.path = /var/flume/avro
agent.sinks.hdfs-sink.channel = memoryChannel2
agent.channels.memoryChannel2.type = memory
agent.channels.memoryChannel2.capacity = 20000
agent.channels.memoryChannel2.transactionCapacity = 2000
谢谢你的建议!
1条答案
按热度按时间7kjnsjlb1#
我认为这是可以做到的。在下面给出的示例中,我使用的是一个源(source1),它从假脱机目录源读取并将其转储到avro sink。我有另一个源(source2),它是一个avro源,并链接到source1的avro接收器。这样你就有了你正在寻找的流动。请根据您的使用情况修改此conf文件: